パラメータを指定して http 投稿を送信し、応答から Cookie を取得したいと考えています。
Androidでは、次を使用します。
HttpPost request = new HttpPost("http://stackoverflow.com/");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("parameter", parameter));
request.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(request);
List<Cookie> cookies = client.getCookieStore().getCookies();
IOS で以下を使用しようとしましたが、うまくいきませんでした。
NSURL *authUrl = [[NSURL alloc] initWithString:@"http://stackoverflow.com/"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:authUrl];
[request setHTTPMethod:@"POST"];
NSString * parameters = [NSString stringWithFormat:@"login=%@&password=%@",login,password];
NSData *requestData = [NSData dataWithBytes:[parameters UTF8String] length:[parameters length]];
[request setHTTPBody:requestData];
[request setTimeoutInterval:15.0];
NSURLConnection * connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection start];
デリゲート メソッドでデータを受け取ります。しかし、データは投稿がパラメーターなしで送信されたように見えます。リンクは送信しますが、パラメーターは送信しません。また、ヘッダーをセットアップしようとしましたが、役に立ちませんでした。
[request addValue:VALUE forHTTPHeaderField:@"login"];
また、の使用sendSynchronousRequest
も役に立ちませんでした。
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
私は何を間違えましたか?