iOS 中用戶端和伺服器的 Web Service 網路通訊

來源:互聯網
上載者:User

標籤:ios   web service   rest   json   伺服器   

       當你開啟你手機上新浪微博應用或者知乎應用是,你是否會去想這些顯示在手機上的圖片和資料時從哪裡來的?又是通過怎樣的方法實現的?好,那麼接下來就介紹是如何?的,過程又是怎麼樣的。

     當我們瀏覽著關注或者好友的微博時,那些圖片和資料不是憑空出現的,而是通過你的用戶端向伺服器請求後由新浪微博的伺服器返回本地所獲得,通過資料的解析就能夠在用戶端上進行顯示,甚至是操作。而這些,就是我們通常所說的 Web Service。Web Service 技術是一種通過 Web 協議提供服務,保證不同平台的應用服務可以互操作,為用戶端應用提供不同的服務。目前主流的 Web Service 技術有三種:REST、SOAP 和 XML-RPC。現在主要介紹的是 REST Web Service。

     REST 被翻譯為“表徵狀態轉移”,“表徵”是用戶端看到的頁面,頁面的跳轉就是狀態的轉移,用戶端通過請求 URI 獲得要顯示的頁面。REST 通常是基於 HTTP、URI 和 XML 以及 HTML 等這些現有的協議和標準。

     REST Web Service 是一個使用 HTTP 並遵循 REST 原則的 Web Service。要求 使用 URI 定位資源。與 Web Service 的資料交換格式使用JSON 和 XML 等非常靈活。Web Service 所支援的 HTTP 要求方法,包括 POST、GET、PUT或DELETE 等。

     同步 GET 方法實現的請求:

上一篇關於 JSON 是屬於本地解析,現在是從伺服器請求回返回資料進行解析,接下來看一下 Web Service 請求的主要方法。

-(void)startRequest{        NSString *strURL = [[NSString alloc] initWithFormat:                        @"請求的伺服器位址"];    NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];            NSData *data  = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];    NSLog(@"請求完成...");    NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];    [self reloadView:resDict];    }
          initWithFormat:方法指定請求的 URL ,這是 URL 的所指向的 Web Service。下一行代碼是使用上面的 strURL 字串建立 NSURL 對象,參數是[strURL URLEncodedString],strURL 字串又調用了 URLEncodedString 方法將字串轉換為 URL 字串,在 Internet 傳輸的時候 URL 中不能有中文等特殊字元出現。使用該方法就是把這些字元轉換為有百分比符號的 URL 編碼(“<”符號的 URL 編碼是 “%3C”)。



iOS 中用戶端和伺服器的 Web Service 網路通訊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.