質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Q&A

解決済

1回答

3031閲覧

[iOS]NSMutableURLRequestのPOST通信でGETパラメータを送信できるか

Zonoko

総合スコア7

GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

0グッド

0クリップ

投稿2016/02/19 08:17

お世話になります。

表題の通りとなるのですが、下記のようなコードで
NSMutableURLRequestを用いてリクエストを作成し、POSTで通信した場合
URLに設定されているGETパラメータ部分は取得できなくなってしまうのでしょうか?
また、GETパラメータが取得できない場合、POSTとGET両方を送信する方法はありますでしょうか?

Objective

1NSString *url = @"https://test.co.jp?key1=value1&key2=value2" 2 3NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]]; 4[request setHTTPMethod:@"POST"]; 5[request setHTTPBody:@"HTTPbodyパラメータ"];

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Stripe

2016/02/19 10:26

GETパラメータ部分の取得というのは、サーバー側で取得するという意味?
guest

回答1

0

ベストアンサー

iOS側は以下のようなリクエストを送信します。

POST /?key1=value1&key2=value2 HTTP/1.1 Host: test.co.jp Connection: close User-Agent: Guide/1 CFNetwork/758.2.8 Darwin/14.5.0 Content-Length: 23 HTTPbodyパラメータ

推奨されるかはともかく、サーバ側での取得は可能です。
PHPであれば、$_SERVER['QUERY_STRING']で取得できます。$_GETでも取得できてしまいますね。

lang

1var_dump($_SERVER['QUERY_STRING']); 2// string 'key1=value1&key2=value2' (length=23) 3 4var_dump($_GET); 5/* 6array (size=2) 7 'key1' => string 'value1' (length=6) 8 'key2' => string 'value2' (length=6) 9*/

投稿2016/02/19 12:01

izkn

総合スコア1698

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zonoko

2016/02/22 01:16

POST通信の場合でも、URLにGETパラメータが付いている場合はGETも普通にサーバ側で取得できるのですね。 言葉足らずでしたが、ご回答頂きありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問