中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android網(wǎng)絡(luò)交互Get,POST簡(jiǎn)介

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
  做移動(dòng)APP肯定少不了網(wǎng)絡(luò)交互,無(wú)論是打開(kāi)網(wǎng)頁(yè)(如在手機(jī)端打開(kāi)www.baidu.com)可是與服務(wù)器端交互(獲取資料信息,上傳或下載圖片等),都要用到網(wǎng)絡(luò)請(qǐng)求。我們常用的網(wǎng)絡(luò)請(qǐng)求就是HTTP中的GET與POST。android與網(wǎng)絡(luò)交互非常方便的,因?yàn)閍ndroid主要是用java語(yǔ)言開(kāi)發(fā),所以直接使用java.net包下的API訪問(wèn)HTTP服務(wù)。更方便的是,Android SDK附帶了Apache的HttpClient API。Apache HttpClient是一個(gè)完善的HTTP客戶端,它提供了對(duì)HTTP協(xié)議的全面支持,可以使用HTTP GET和POST等方法進(jìn)行訪問(wèn),操作方便。下面也簡(jiǎn)單介紹下兩種方式:

     首先看下GET與POST方式的區(qū)別(參照網(wǎng)上資料):

   (1)提交方式:GET提交,請(qǐng)求的數(shù)據(jù)寫(xiě)在在URL中(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中),以?分割URL和傳輸數(shù)據(jù)(參數(shù)),多個(gè)參數(shù)用& 連接。例 如:login.action?name=hyddd&password=idontknow&gender=male。如果數(shù)據(jù)中全是 英文字母/數(shù)字,原樣發(fā)送,如果有空格,轉(zhuǎn)換為+,如果有中文/其他字符,則直接把字符串用BASE64加密。POST提交:把提交的數(shù)據(jù)(參數(shù))放置在 是HTTP包的包體中。  因此,GET提交的數(shù)據(jù)會(huì)在地址欄中顯示出來(lái),而POST提交,地址欄不會(huì)改變

      (2)傳輸數(shù)據(jù)的大。篐TTP協(xié)議沒(méi)有對(duì)傳輸?shù)臄?shù)據(jù)大小進(jìn)行限制,HTTP協(xié)議規(guī)范也沒(méi)有對(duì)URL長(zhǎng)度進(jìn)行限制。在實(shí)際開(kāi)發(fā)中存在的限制主要 是:GET:特定瀏覽器和服務(wù)器對(duì)URL長(zhǎng)度有限制,其限制取決于操作系 統(tǒng)的支持。POST:由于不是通過(guò)URL傳值,理論上數(shù)據(jù)不受限。但實(shí)際各個(gè)WEB服務(wù)器會(huì)規(guī)定對(duì)post提交數(shù)據(jù)大小進(jìn)行限制,Apache、IIS6 都有各自的配置。

(3)安全性:POST的安全性要比GET的安全性 高。這 里安全的含義是真正的Security的含義,比如:通過(guò)GET提交數(shù)據(jù),用戶名和密碼將明文出現(xiàn)在URL上,因?yàn)?1)登錄頁(yè)面有可能被瀏覽器緩存, (2)其他人查看瀏覽器的歷史紀(jì)錄,那么別人就可以拿到你的賬號(hào)和密碼了,除此之外,使用GET提交數(shù)據(jù)還可能會(huì)造成Cross-site request forgery攻擊

(4)傳值(參)方法:GET:請(qǐng)求參數(shù)是作為一個(gè)key/value對(duì)的序列(查詢字符串)附加到URL上的查詢字符串的長(zhǎng)度受到web瀏覽器和web服務(wù)器的限制(如IE最多支持2048個(gè)字符),不適合傳輸大型數(shù)據(jù)集同時(shí),它很不安全。嘏POST:請(qǐng)求參數(shù)是在http標(biāo)題的一個(gè)不同部分(名為entity body)傳輸?shù)模@一部分用來(lái)傳輸表單信息,因此必須將Content-type設(shè)置為:application/x-www-form- urlencoded。post設(shè)計(jì)用來(lái)支持web窗體上的用戶字段,其參數(shù)也是作為key/value對(duì)傳輸。但是:它不支持復(fù)雜數(shù)據(jù)類型,因?yàn)閜ost沒(méi)有定義傳輸數(shù)據(jù)結(jié)構(gòu)的語(yǔ)義和規(guī)則。

再分別講講兩個(gè)方法的調(diào)用方法及步驟:

HTTP GET請(qǐng)求步驟:
   String url="http://......";//請(qǐng)求的網(wǎng)絡(luò)地址
      //第一步,創(chuàng)建HttpClient對(duì)象
     HttpClient client=new DefaultHttpClient();
      //第二步,創(chuàng)建HttpGet對(duì)象
     HttpGet httpGet = new HttpGet(url);
   //第三步,使用execute方法發(fā)送HTTP GET請(qǐng)求,并返回HttpResponse對(duì)象
     HttpResponse response=client.execute(get);
   //第四步,判斷返回狀態(tài)并取出服務(wù)器返回的數(shù)據(jù)
   if (httpResponse.getStatusLine().getStatusCode() == 200)
   {
        //第五步,使用getEntity方法活得返回結(jié)果
        String result = EntityUtils.toString(httpResponse.getEntity());
    }

標(biāo)簽: web服務(wù)器 安全 服務(wù)器 服務(wù)器端 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:Java根據(jù)兩點(diǎn)的經(jīng)緯度來(lái)計(jì)算之間的距離

下一篇:中文獲取全拼功能Java代碼