サーバにPOSTを行っていたMacOSアプリケーションがありました。私はPOSTのURLを変更し、何かが動作を停止しました。ASIFormDataRequestに空のPOSTボディがあります
私はTuffcode(スニッファ)をダウンロードしました。新しいURLを使用すると、POST BODYは空です。
- (IBAction)grabURLInBackground:(id)sender
{
NSURL *url = [NSURL URLWithString:@"url1"];
//NSURL *url = [NSURL URLWithString:@"url2"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request addRequestHeader:@"Content-Language" value:@"en"];
[request addRequestHeader:@"Content-Type" value:@"application/x-www-form-urlencoded"];
[request addRequestHeader:@"Connection" value:@"keep-alive"];
[request addRequestHeader:@"Cookie" value: [NSString stringWithFormat:@"botcust2=%@", sn]];
[request setShouldAttemptPersistentConnection:NO];
[request addPostValue:[input stringValue] forKey:@"input"];
[input setStringValue:@""];
[request startAsynchronous];
}
url1からurl2に切り替えると、整形されたPOST BODYから空のPOST BODYに切り替わります。それはどうすればできますか?どのようにして送信されるものがURLによって決定されますか? 最初は、POSTを正しく解釈しなかったのは新しいサーバーだと思っていましたが、Tuffcodeが正しいとすれば、アプリケーションはデータを送信していませんか?
また、HTTPの仕組みについてわからないことがありますか?私は混乱しています...
いくつかのログ:
2011-07-29 12:28:36.018 ChatBot[6764:707] [STATUS] Starting asynchronous request <ASIFormDataRequest: 0x10188d420>
2011-07-29 12:28:36.021 ChatBot[6764:6403]
==== Building an application/x-www-form-urlencoded body ====
input=hello
==== End of application/x-www-form-urlencoded body ====
2011-07-29 12:28:36.027 ChatBot[6764:6403] [CONNECTION] Request <ASIFormDataRequest: 0x10188d420> will not use a persistent connection
2011-07-29 12:28:36.280 ChatBot[6764:6403] [STATUS] Request <ASIFormDataRequest: 0x10188d420> finished uploading data
2011-07-29 12:28:36.374 ChatBot[6764:6403] [STATUS] Request <ASIFormDataRequest: 0x10188d420> received response headers
2011-07-29 12:28:36.375 ChatBot[6764:6403] [STATUS] Request <ASIFormDataRequest: 0x10188d420> finished downloading data (0 bytes)
2011-07-29 12:28:36.376 ChatBot[6764:6403] [STATUS] Request finished: <ASIFormDataRequest: 0x10188d420>
はまた、ブラウザ内で実行されているHTMLフォームとのことなURLの仕事の両方の点に注意してください。 fine –