0

Objective-C コードから URL 付きの php スクリプトに投稿リクエストを送信したい

http://ggg.abc.com/example.php?MO&email=test@gmail.com&message=TESTMSG&recipient=11111

以下のように ASIFormDataRequest を使おうとしたのですが、リクエスト変数 MO をリクエストに指定するにはどうすればよいですか?

NSURL* url = [NSURL URLWithString:ServerApiURL];
ASIFormDataRequest* request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];

// Add the POST fields
//[request setPostValue:@"" forKey:@"MO"];
//[request setRequestMethod:@"MO"];

[request setPostValue:@"test@gmail.com" forKey:@"email"]; 
[request setPostValue:@"TESTMSG" forKey:@"message"];
[request setPostValue:@"11111" forKey:@"recipient"];

またはこれを行う他の方法はありますか?

4

1 に答える 1

0

最後の手段として、-appendPostData:が機能するはずです。

PUTリクエストとカスタムPOST


PUTを介してデータを送信する場合、またはPOSTを使用してデータを送信するが、POST本文を自分で作成する場合は、appendPostData:またはappendPostDataFromFile:を使用します。

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request appendPostData:[@"This is my data" dataUsingEncoding:NSUTF8StringEncoding]];
// Default becomes POST when you use appendPostData: / appendPostDataFromFile: / setPostBody:
[request setRequestMethod:@"PUT"];

大量のデータを送信する必要があり、ASIFormDataRequestを使用していない場合は、以下のディスクからのポストボディのストリーミングに関する情報を参照してください。


あなたにとってこれは次のようになります:

NSURL* url = [NSURL URLWithString:ServerApiURL];
ASIFormDataRequest* request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request appendPostData:[@"MO&email=test@gmail.com&message=TESTMSG&recipient=11111" dataUsingEncoding:NSUTF8StringEncoding]];

幸運を


最新のコメントの回答を更新

NSURL* url = [NSURL URLWithString:ServerApiURL];
NSURL* urlWithParams = [NSURL URLWithString:@"?MO&email=test@gmail.com&message=TESTMSG&recipient=11111" relativeToURL:url];
ASIFormDataRequest* request = [ASIFormDataRequest requestWithURL:urlWithParams];
[request setDelegate:self];
// Does this request need to be a post? If so, then call -setRequestMethod:.
// NOTE: I don't know if zero length posts work.
[request setRequestMethod:@"POST"];
于 2012-05-22T23:04:15.407 に答える