我正在尝试使用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];
它是第一个请求,但我怎样才能创建第二个请求?
答案 0 :(得分:1)
Cookie是一种HTTP的东西,所以我假设我们正在讨论这个问题 当1.请求成功时,您将获得一个NSURLResponse,这是一个HTTPURLResponse,其头部可以解析为cookie:
NSArray *cookies = [NSHTTPCookie cookiesWithResponseHeaderFields:headers forURL:[self url]]];
那些cookie随后可以与2. request ...
一起使用NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
[request setAllHTTPHeaderFields:headers];