2012-07-14 77 views
0

我正在做一個簡單的WISPr客戶端。當我使用BTOpenZone熱點進行測試時,我發現willSendRequest被調用,它會將我重定向到熱點着陸頁面。 我在willSendRequest返回零,因爲我希望得到WISPr xml標籤,但我發現connectionDidFinishLoading被調用,並且我檢查沒有收到數據。connectionDidFinishLoading不調用didReceiveData?

- (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

你不應該從

webView:resource:willSendRequest:redirectResponse:fromDataSource:

返回nil需要應包含在該方法的NSURLResponse參數(這實際上是一個NSHTTPURLResponse)的標籤,然後你應該返回使用登錄憑證向適當的URL發送HTTP POST請求。

+0

感謝您的回覆。讓我先試試,然後恢復狀態 – user1524932 2012-07-14 03:48:46

+0

您可以編輯原始問題併發布一些實際的代碼嗎? – 2012-07-14 03:57:41

+0

我只是添加了一些代碼,並添加到NSLog中打印出NSURLResponse作爲您建議查看結果。一旦我設法測試它,會再次反饋。 Thx – user1524932 2012-07-14 07:08:39

相關問題