我想我主要是在解決這個問題,因爲我不知道要搜索什麼。 我想打一個應用程序,允許用戶輸入他們的禮品卡號碼,並使用該號碼登錄到這個網站:我該如何在網站上進行應用程序登錄並在後臺獲取信息?
我不知道如何做到這一點,而不需要通過網站的控制。它甚至有可能這樣做嗎? 我不想使用UIWebView來顯示頁面。
我想我主要是在解決這個問題,因爲我不知道要搜索什麼。 我想打一個應用程序,允許用戶輸入他們的禮品卡號碼,並使用該號碼登錄到這個網站:我該如何在網站上進行應用程序登錄並在後臺獲取信息?
我不知道如何做到這一點,而不需要通過網站的控制。它甚至有可能這樣做嗎? 我不想使用UIWebView來顯示頁面。
你應該閱讀NSURLConnection,你將不得不執行一個post登錄請求。然後,您將不得不通過解析返回的頁面來確定您是否成功登錄。 NSURLConnection將處理存儲網站返回的登錄cookie。登錄後,您可能需要執行另一個帖子請求來查詢他們的系統。再一次,您將不得不將結果從返回的HTML頁面中解析出來。
NSURLConnection的: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsurlconnection_Class/Reference/Reference.html
NSURLConnection的委託協議: https://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSURLConnectionDelegate
當然,這一切都假定這個網站沒有,你可以使用一個API。
我會檢查一下,謝謝 – juliensaad
看起來你需要以編程方式POST到https服務器,然後你會找回一些DOM文檔,或JSON或一些奇怪的東西,然後解析。
使用iOS發佈內容非常簡單,請查看類似LRResty https://github.com/lukeredpath/LRResty或類似的內容。
當你得到數據時,首先要做的就是用NSLog來查看它。然後,如果數據是HTML,則需要進入HTML以獲取結果。
該方法的問題在於託管該頁面的公司可能隨時更改其API。你應該讓他們不要改變任何東西(如果他們想改變,然後創建一個新頁面並讓舊的頁面工作,或者更好,支持一個簡單的REST API--這也將幫助他們構建漂亮的AJAX/html5網站在將來。)。
如果網站沒有開放的API,這將很難。 –
是不是有一種方法來重新設計我自己的界面,但保持其「邏輯」? – juliensaad
不是如果你想避免使用像你的問題狀態的WebView。其他的答案是通過POST獲取數據。這將是您需要從URL中獲取或從提供者獲取的API。 –