2012-08-02 107 views
0

我想解析一個HTML頁面,但該頁面需要用戶名/密碼才能訪問數據。 如何將憑據傳遞到服務器,以便我可以將網頁加載到我的NSData對象中?加載stringWithContentsofURL需要憑據

更新評論下面

一般來說,如果你正在使用的網絡瀏覽器,它會彈出一個登錄窗口,爲您鍵入的憑據。當我在iOS中執行它時,它不會給我任何東西。

非常感謝! Alan

+0

你想從頁面的數據? – Imirak 2012-08-02 23:16:20

+0

網站上是否有登錄區域,或窗口是否出現要求提供憑據? – bdev 2012-08-02 23:17:48

+0

不要使用stringWithContentsOfURL ...它不能處理那種信息,它會阻止你的線程等待數據。使用NSURLConnection或ASIHTTPRequest來使用網絡連接。 – borrrden 2012-08-02 23:38:31

回答

0

您可以使用ASIFormDataRequest。看看它here

NSURL *tempUrl = [NSURL URLWithString:@"http://www.yoursitetoparse.com"]; 

    ASIFormDataRequest *request = [[ASIFormDataRequest alloc] init]; 

    request = [ASIFormDataRequest requestWithURL:tempUrl]; 

    [request setDelegate:self]; 
    [request setRequestMethod:@"POST"]; 
    [request setUsername:@"username"]; //Username 
    [request setPassword:@"password"]; //Password 

    [request startAsynchronous]; 

而且它的委託方法:

-(void)requestFailed:(ASIHTTPRequest *)request 
{ 
    NSError *error = [request error]; 
    NSLog(@"Failed %@ with code %d and with userInfo %@",[error domain],[error code],[error userInfo]); 


} 

-(void)requestFinished:(ASIHTTPRequest *)request 


{ 

    NSLog(@"Finished : %@",[theRequest responseString]);  

}