2012-06-01 54 views
1

我正在測試我的應用程序中的登錄。 這是頁面的源代碼:發送請求到網站(例如登錄)?

<label for="login">Username:</label><br/> 
    <input id="login" name="login"/><br/>    
    <label for="password">Password:</label><br/> 
    <input id="password" name="password" type="password"/><br/> 
    <input type="SUBMIT" class="tasto" value="Conferma" name="evn_conferma=evento"/> 

我嘗試這樣做:

ASIFormDataRequest * request2 = [ASIFormDataRequest requestWithURL:url]; 
[request2 setPostValue:@"USERNAME" forKey:@"login"]; 
[request2 setPostValue:@"PASSWORD" forKey:@"password"]; 


#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0 
    [request2 setShouldContinueWhenAppEntersBackground:YES]; 
#endif 

[request2 setDelegate:self]; 
[request2 setDidFailSelector:@selector(uploadFailed:)]; 
[request2 setDidFinishSelector:@selector(uploadFinished:)]; 
[request2 startSynchronous]; 

但沒有被加載。請幫幫我!

編輯:我想我需要一些關於按鈕Conferma的東西。

- (void)uploadFinished:(ASIHTTPRequest *)theRequest 
{ 

NSString *responseString = [theRequest responseString]; 
NSLog(@"%@",responseString); 
NSLog(@"Finished uploading %llu bytes of data",[theRequest postLength]); 

} 

關於這最後的方法,如果我把字符串

[request2 setPostValue:@"Conferma" forKey:@"evn_conferma=evento"]; 

只見上傳0字節!

+0

爲什麼你想從該頁面重定向?只需硬編碼您的PHP(或任何腳本)接受後值。這似乎是一個很大的彎路......你是什麼意思「沒有裝載任何東西?」發佈您的uploadFinished:方法。 – Martol1ni

+0

我不會原生英語,所以我的單詞範圍非常有限,很抱歉。我已經發布uploadFinished。 – charles

+0

您正在使用ASI,它是一個外部庫,您確定您已經正確配置並導入了它,或者您剛剛從網上找到的代碼中複製/粘貼了該代碼? – moxy

回答

0

它不是一個固定我想,但你應該改變

[request2 startSynchronous]; 

[request2 startAsynchronous]; 

,因爲你是掛鉤的委託自我,你應該讓ASYNCH

也將添加以下

[request2 setPostValue:@"Conferma" forKey:@"evn_conferma=evento"];