2012-12-25 34 views
0

的結果我很新的iOS和我剛開始閱讀有關HTTP請求和POST和GET方法。比方說,我想讓用戶輸入一個字符串,然後將這些數據發送到一個網站(例如www.rhymezone.com),使用該字符串進行搜索,並獲得該搜索的結果在我的應用程序。這是用HTTP post方法完成的嗎?或者是什麼?任何幫助/例子將不勝感激。另外,如果有這個東西的教程,這也將讚賞。將數據發送到一個網站,讓搜索的iOS

了一個例子,這裏是我已經試過:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.rhymezone.com/r/rhyme.cgi?Word=test&typeofrhyme=perfect&org1=syl&org2=l&org3=y"]]; 

NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self]; 



- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    NSString *dataAsString=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; 
    NSLog(@"data: %@",dataAsString); 
} 

它輸出的網站的整個源(搜索單詞測試的押韻)。雖然我當然可以編寫一種方法來瀏覽網站的源代碼並提取它返回的文字,但我覺得這是不正確的。我用不同詞彙押韻的方法就是簡單地在這裏改變網址,所以在'測試'的地方,我將它改爲任何用戶輸入的內容。

感謝

+1

如果您問的是RhymeZone.com,我會建議您聯繫該網站的作者,並詢問他們是否有公共編程接口(無論是JSON還是XML,最有可能)。他們幾乎肯定會這樣做(因爲他們的應用程序正在使用它,不太可能會刮掉HTML輸出)。唯一的問題是這是否是公共接口。通過他們的網站聯繫他們。但是,在沒有與網站管理員協調的情況下,使用第三方網站作爲您的應用的提要並不酷,除非他們擁有公共API。 – Rob

回答

1

查找到AFNetworking和RestKit。

如果你調用使用JSON/XML,然後使用一個內置的解析器或解析器庫中提取所需的數據的公開API這是最簡單的。

只需下載一個URL的內容是一個HTTP GET請求,比如去一個網站。

這個鏈接談到一點關於GET和POST之間的區別。 When do you use POST and when do you use GET?

+0

ASIHTTPRequest不再更新。請提出替代方案,如AFNetworking。 –

1

如果我理解正確的話你正在嘗試做的,我擔心的是你唯一的選擇是發送HTTP請求(根據網站所期待的GET或POST,就像你正在做的)然後解析結果以過濾所有不相關的信息。

,如果你使用的是網站提供REST API或JSON API,以便您發送的查詢,你回來只是你需要(特定格式)的信息的另一種方法是可行的。

所以,您所使用的網站上的強烈依賴,但對於一般的情況下,你唯一的選擇是解析。

(或者,你可以通過UIWebView顯示頁面的全部內容。這不會需要明確建立連接,但我不知道它是什麼,你正在嘗試做的。)

1

你是尋找一種通過iOS應用程序與您的網站進行溝通的方式。常用的方法是獲取用戶輸入的字符串,將其編碼並將其作爲http請求發送到某種腳本(webservice)。這個腳本將完成你想要的所有東西(用這個字符串搜索)。然後將結果作爲http響應重新發送到客戶端(您的iOS應用程序),該響應將在iOS應用程序中解析(例如使用JSON解析器)。

周圍有好資源,作爲一個例子,你可以看一下這:http://www.raywenderlich.com/2965/how-to-write-an-ios-app-that-uses-a-web-service

+0

嘿,很抱歉回來這麼晚,但謝謝你!我最終使用JSON解析器。 – gg13

相關問題