私は多くのことを試しましたが、どうにかして ios での HTTP POST リクエストの基本を把握できませんでした。サーバー エラーが発生することもあれば、ステータス コード 200 が返されても空の応答が返されることもあります。バックエンド サーバー コードが機能し、応答として json データを送信しています。どういうわけか、私の iOS アプリはその応答を取得できません。どんな助けでも大歓迎です!
これは私が試したものの1つです!GetAuthorOfBook は、strBookName を POST 引数として受け取り、作成者の名前を json オブジェクトとして返す PHP サーバー関数に対応しています。
NSURL *url = [NSURL URLWithString:@"http://mysite.com/getAuthorOfBook"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
NSString *post = [NSString stringWithFormat:@"strBookName=Rework"];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding];
NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
[request setValue:@"text/html" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData ];
//get response
NSHTTPURLResponse* urlResponse = nil;
NSError *error = [[NSError alloc] init];
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
responseData には、作成者の名前 (strAuthorName) が json の "key":"value" ペアとして含まれている必要があります。