0

NSMutableURLRequestを使用してセッションと接続しようとしています。データを受信する最初のリクエストを開始しています。しかし、私は2番目の要求をすることができません。同じCookieを使用して2番目のリクエストを行うにはどうすればよいですか?

ソースコードを更新します。

NSHTTPURLResponse   * response;
NSError             * error;
NSMutableURLRequest * request;
request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://loginsite"]
                                        cachePolicy:NSURLRequestReloadIgnoringCacheData
                                    timeoutInterval:60];
NSString *post = [NSString stringWithFormat:@"userid=%@&pass=%@",self.userName.text, self.password.text];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
[request setValue:[NSString stringWithFormat:@"%d", [postData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];

[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];


self.urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[self.urlConnection start];

最初のリクエストを行いますが、どうすれば2番目のリクエストを行うことができますか?

4

1 に答える 1

1

Cookie は HTTP のようなものなので、それについて話していると思います。
1. リクエストが成功すると、Cookie に解決できるヘッダーを持つ HTTPURLResponse である NSURLResponse を取得します。

NSArray *cookies = [NSHTTPCookie cookiesWithResponseHeaderFields:headers forURL:[self url]]];

これらの Cookie は、2. request... で使用できます。

NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
[request setAllHTTPHeaderFields:headers];
于 2012-12-08T21:28:30.647 に答える