iOS專案開發實戰——使用同步請求獲取網頁原始碼
網路請求一般分為同步請求和非同步請求,同步請求如果訪問時間過長,會造成介面卡死狀態,使用者體驗不是很好。但是請求速度較快的話,也可以考慮使用同步訪問。現在先來學習同步訪問。
(1)在viewDidLoad()方法中實現如下程式碼:
override func viewDidLoad() {
super.viewDidLoad()
var data = NSURLConnection.sendSynchronousRequest(NSURLRequest(URL: NSURL(string: "http://www.baidu.com")!), returningResponse: nil, error: nil)
if let d = data{
println(NSString(data: d, encoding: NSUTF8StringEncoding)!)//列印HTML
}else{
println("未能獲取網路資料")
}
}
輸出結果會成功列印出網頁HTML。
(2)列印出Http協議頭
在viewDidLoad()中實現以下程式碼:
override func viewDidLoad() {
super.viewDidLoad()
var resp:NSURLResponse?
var data = NSURLConnection.sendSynchronousRequest(NSURLRequest(URL: NSURL(string: "http://www.baidu.com")!), returningResponse: &resp, error: nil)
if let r = resp{
println(r) //列印Http協議頭;
}
}
輸出結果如下:
。
(3)列印錯誤資訊
在進行網路操作時,偶爾出現錯誤是不可避免的,我們可以列印出錯誤,便於我們查錯,列印錯誤程式碼如下:
override func viewDidLoad() {
super.viewDidLoad()
var resp:NSURLResponse?
var error:NSError?
var data = NSURLConnection.sendSynchronousRequest(NSURLRequest(URL: NSURL(string: "http://www.baidu.com")!), returningResponse: &resp, error: &error)
if let e = error{
println(e) //列印Http協議頭;
}
}
測試該程式碼時,我們可以關閉網路,然後就會出現錯誤:我進行測試時,出現的錯誤如下:
。
github主頁:https://github.com/chenyufeng1991 。歡迎大家訪問!
相關文章
- iOS專案開發實戰——使用非同步請求獲取網頁HTML原始碼iOS非同步網頁HTML原始碼
- iOS專案開發實戰——iOS網路程式設計獲取網頁Html原始碼iOS程式設計網頁HTML原始碼
- iOS專案開發實戰——獲取網頁原始碼的二進位制資料iOS網頁原始碼
- iOS專案開發實戰——使用程式碼獲取螢幕寬高iOS
- iOS專案開發實戰——使用SDWebImage庫進行圖片請求iOSWeb
- iOS專案開發實戰——使用CoreLocation獲取當前位置資訊iOS
- iOS專案開發實戰——使用AFNetworking進行Http Get請求iOSHTTP
- iOS專案開發實戰——獲取本機IP地址iOS
- iOS專案開發實戰——使用程式碼實現頁面跳轉iOS
- iOS專案開發實戰——網頁原始碼實現二進位制和HTML的轉換iOS網頁原始碼HTML
- iOS專案開發實戰——獲取系統當前時間iOS
- iOS專案開發實戰——獲取當前的UUID(通用唯一識別碼)iOSUI
- vue專案及axios請求獲取資料(cp網站搭建制作)VueiOS網站
- QWebView獲取網頁原始碼WebView網頁原始碼
- iOS專案開發實戰——使用CoreLocation實現定位iOS
- iOS 同步請求 非同步請求 GET請求 POST請求iOS非同步
- 高效獲取網頁原始碼COM網頁原始碼
- Okhttp同步請求原始碼分析HTTP原始碼
- iOS專案開發實戰——使用UICollectionView實現瀑布流iOSUIView
- iOS 使用libcurl 獲取網路請求各階段的時間iOS
- Postman模擬瀏覽器網頁請求並獲取網頁資料Postman瀏覽器網頁
- Axios 原始碼解讀 —— 網路請求篇iOS原始碼
- 使用WebBrowser控制元件獲取網頁原始碼的方法Web控制元件網頁原始碼
- OKHttp原始碼學習同步請求和非同步請求(二)HTTP原始碼非同步
- vue專案技術運用(BC網站搭建制作)及axios請求獲取資料Vue網站iOS
- iOS專案開發實戰——UILabel與取色器的使用iOSUI
- iOS開發那些事-iOS網路程式設計同步GET方法請求程式設計iOS程式設計
- axios原始碼分析——取消請求iOS原始碼
- axios原始碼分析——請求流程iOS原始碼
- ios ASIHttpLib 同步請求和非同步請求iOSHTTP非同步
- iOS專案開發實戰——CoreLocation地理編碼和反地理編碼iOS
- 爬蟲實戰:從HTTP請求獲取資料解析社群爬蟲HTTP
- iOS專案開發實戰——理解frame,bounds,centeriOS
- iOS專案開發實戰——檢視動畫效果iOS動畫
- iOS專案開發實戰——配置自定義動畫iOS動畫
- iOS專案開發實戰——plist陣列解析iOS陣列
- iOS專案開發實戰——使用定時器實現迴圈操作iOS定時器
- iOS 使用Moya網路請求iOS