0

私は単純なWISPrクライアントを実行しています。BTOpenZoneホットスポットを使用してテストしたところ、それwillSendRequestが呼び出され、ホットスポットのランディングページにリダイレクトされることがわかりました。willSendRequestWISPr xmlタグを取得したいので、nilを返しますが、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

nil を返すべきではありません

webView:resource:willSendRequest:redirectResponse:fromDataSource:

必要なタグは、そのメソッドの NSURLResponse パラメーター (実際には NSHTTPURLResponse になります) に含まれている必要があります。次に、HTTP POST 要求をログイン資格情報と共に適切な URL に返す必要があります。

于 2012-07-14T03:17:22.987 に答える