0

我正在尝试使用 NSMutableURLRequest 与会话建立连接。我正在开始从它接收数据的第一个请求。但我不能提出第二个要求。如何使用相同的 cookie 发出第二个请求?

更新源代码:

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];

它提出了第一个请求,但我怎样才能提出第二个请求?

4

1 回答 1

1

Cookies 是 HTTP 的东西,所以我假设我们正在谈论它。
当 1. 请求成功时,您会得到一个 NSURLResponse,它是一个 HTTPURLResponse,其标头可以解析为 cookie:

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

然后可以将这些 cookie 与 2. 请求一起使用...

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