本文三部分:
1:強大的功能:
ASIHTTPRequest對CFNetwork API進行了封裝,並且使用起來非常簡單,用Objective-C編寫,可以很好的應用在Mac OS X系統和iOS平臺的應用程序中。ASIHTTPRequest適用於基本的HTTP請求,和基於REST的服務之間的交互。
ASIHTTPRequest功能很強大,主要特色如下:
- l 通過簡單的接口,即可完成向服務端提交數據和從服務端獲取數據的工作
- l 下載的數據,可存儲到內存中或直接存儲到磁盤中
- l 能上傳本地文件到服務端
- l 可以方便的訪問和操作請求和返回的Http頭信息
- l 可以獲取到上傳或下載的進度信息,爲應用程序提供更好的體驗
- l 支持上傳或下載隊列,並且可獲取隊列的進度信息
- l 支持基本、摘要和NTLM身份認證,在同一會話中授權憑證會自動維持,並且可以存儲在Keychain(Mac和iOS操作系統的密碼管理系統)中
- l 支持Cookie
- l 當應用(iOS 4+)在後臺運行時,請求可以繼續運行
- l 支持GZIP壓縮數據
- l 內置的ASIDownloadCache類,可以緩存請求返回的數據,這樣即使沒有網絡也可以返回已經緩存的數據結果
- l ASIWebPageRequest –可以下載完整的網頁,包括包含的網頁、樣式表、腳本等資源文件,並顯示在UIWebView /WebView中。任意大小的頁面都可以無限期緩存,這樣即使沒有網絡也可以離線瀏覽
- l 支持客戶端證書
- l 支持通過代理髮起Http請求
- l 支持帶寬限制。在iOS平臺,可以根據當前網絡情況來自動決定是否限制帶寬,例如當使用WWAN(GPRS/Edge/3G)網絡時限制,而當使用WIFI時不做任何限制
- l 支持斷點續傳
- l 支持同步和異步請求
2:ASIHTTPRequest導入的庫:
1. 選中項目
2. 選中目標
3. 跳轉到“Build Phases”標籤
4. 展開“Link Binary With Libraries”分組
5. 點擊“+”添加類庫
如下圖所示:
6. 從列表中選擇CFNetwork.framework,然後點擊“Add”按鈕。
7. 按照上一步相同的方法添加:SystemConfiguration.framework, MobileCoreServices.framework,CoreGraphics.framework和libz.1.2.3.dylib這幾個類庫。
8. 添加完後,可以將添加好的一起類庫拖到Xcode項目的Frameworks目錄下
3:錯誤信息的解決
libxml/HTMLparser.h file not found
在導入asihttprequest包時出問題導入了libxml2.dylib,但是卻提示libxml/HTMLparser.h file not found,那是因爲你的開發環境默認的路徑無法找到這個libxml2.dylib框架,修改方法:(兩種方法都試一下吧)第一種方法:(我的可行)點擊左邊項目的根目錄,再點擊右邊的Build Settings,手工輸入文字:“Header search paths”,然後單擊(或雙擊,點擊彈出面板下面的“+”號進行添加)“Header search paths ”右邊的空白處,輸入:/usr/include/libxml2如果還不行,試試這個方法:點擊左邊項目的根目錄,再點擊右邊的Build Settings,手工輸入文字:“Header search paths”,然後單擊(或雙擊,點擊彈出面板下面的“+”號進行添加)“ Header search paths ”右邊的空白處,輸入:${SDK_DIR}/usr/include/libxml2