我正在做一个简单的WISPr客户端。当我使用BTOpenZone
热点对其进行测试时,我发现willSendRequest
已被调用,它会将我重定向到热点着陆页。
我在willSendRequest
中返回nil,因为我希望获得WISPr xml标记,但我发现调用了connectionDidFinishLoading
,并且检查没有收到数据。
- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
{
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)redirectResponse;
int statusCode = [httpResponse statusCode];
NSLog(@"redirect status code : %d", statusCode);
NSDictionary *dict = [httpResponse allHeaderFields];
NSLog(@"redirect dict : %@", [dict description]);
if (statusCode >= 300 && statusCode < 400)
{
NSLog(@"redirect requested: %@", request);
return NULL;
}
return request;
}
即使我使用tcpdump来嗅探数据包,我也找不到任何WISPr标记。
为什么没有WISPr xml标签的任何想法?
我非常感谢你们的帮助。 THX
答案 0 :(得分:0)
你不应该从
返回nil webView:resource:willSendRequest:redirectResponse:fromDataSource:
您需要的标记应包含在该方法的NSURLResponse参数中(实际上是NSHTTPURLResponse),然后您应该使用登录凭据将HTTP POST请求返回到相应的URL。