0

我正在做一个简单的 WISPr 客户端。当我使用BTOpenZone热点测试它时,我发现它willSendRequest被调用了,它会将我重定向到热点登录页面。我返回 nil 是willSendRequest因为我希望获得 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 标签?

我真的很感谢你们的帮助。谢谢

4

1 回答 1

0

你不应该从

webView:resource:willSendRequest:redirectResponse:fromDataSource:

您需要的标签应该包含在该方法的 NSURLResponse 参数中(实际上是一个 NSHTTPURLResponse),然后您应该使用登录凭据将 HTTP POST 请求返回到适当的 URL。

于 2012-07-14T03:17:22.987 回答