1. 程式人生 > >使用HttpURLConnection傳送Post/Get請求

使用HttpURLConnection傳送Post/Get請求

HTTP規範定義中最常用的請求型別就是Get和Post。當你在瀏覽器裡輸入任意一個網址按回車,瀏覽器即已經在執行Get請求了;當你回覆了某條微博時,這時可能就執行了一次Post請求。簡單的來說,Get就是向伺服器傳送索取資料的一種請求,不會影響資源的狀態;Post是向伺服器提交資料的一種請求,可能建立或更新伺服器上的資源。

        訪問伺服器連結時,需要以連結地址為引數構造生成一個java.net.URL例項。URL由網路協議、主機名、埠、資訊路徑、引用等組成統一資源定位符,它是指向網際網路“資源”的指標。資源可以是簡單的檔案或目錄,也可以是對更為複雜的物件的引用,例如對資料庫或搜尋引擎的查詢。


        URL的示例程式碼如下:


        在上面的示例URL中,使用的協議為HTTP超文字傳輸協議;主機名為www.devdiv.com;埠為80,埠值不是必須要求的,當未指定埠號時則使用協議預設的埠;資訊路徑為"res/index.html";引用內容則是由"#"指示的"chapter1",表示在檢索到指定的資源後,程式需要使用文件中附加有"chapter1"的標記部分。

        生成URL例項後,執行url.openConnection()方法可以獲取HttpURLConnection物件。如果URL的協議屬於以下包或其子包之一的公共、專用URLConnection子類:java.lang、java.io、java.util、java.net,則返回的連線將為該子類的型別。例如,對於HTTP,將返回HttpURLConnection,對於JAR,將返回JarURLConnection。程式碼如下:


1 HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();

        通過程式碼獲取的HttpURLConnection預設是進行Get請求,資料只讀不提交。要使用Post方式提交資料,應提前設定好各項引數,程式碼如下:

1 httpConn.setDoInput(true);
2 httpConn.setDoOutput(true);
3
4 // 此方法在正式連結之前設定才有效。
5 httpConn.setRequestMethod("POST");
6 httpConn.setUseCaches(false);
7 // 正式建立連結
8 httpConn.connect();

        setDoInput(boolean)引數值為true決定著當前連結可以進行資料讀取,反之則不允許讀取操作;setDoOutput(boolean)引數值為true時決定著當前連結可以進行資料提交工作,反之則不允許。setRequestMethod("POST")將當前HTTP請求方式設定為"POST",並在最後執行setUseCaches(boolean)取消了使用者快取。以上所有的工作都必須在正式建立連結之前進行。

        Post方式提交資料,需要用到資料輸出流。當執行httpConn.connect()後,即可執行httpConn.getOutputStream()獲取資料流從而進行資料寫操作,為將資料提交到伺服器作準備。程式碼如下:

1 DataOutputStream dos = new DataOutputStream(httpConn.getOutputStream());
2
3

相關推薦

使用HttpURLConnection傳送Post/Get請求

HTTP規範定義中最常用的請求型別就是Get和Post。當你在瀏覽器裡輸入任意一個網址按回車,瀏覽器即已經在執行Get請求了;當你回覆了某條微博時,這時可能就執行了一次Post請求。簡單的來說,Get就是向伺服器傳送索取資料的一種請求,不會影響資源的狀態;Post是向伺服

IOS使用AFN框架傳送POST/GET請求

1. 利用第三方框架獲取伺服器資料(AFNetworking框架); * 2.使用POST/GET方式進行提交* 3.頭部檔案匯入AFNetworking.h 一:首先看程式碼POST請求 //請求的引數 NSDictionary *parameters = @{@

Java Socket 實現HTTP與HTTPS協議傳送POST/GET請求

JAVA Socket 實現HTTP與HTTPS客戶端傳送POST與GET方式請求         哇,一看標題怎麼這麼長啊,其實意思很簡單,哥討厭用HTTP Client做POST與GET提交覺得那個畢竟是別人寫得AP

使用AJAX傳送POST/GET請求並處理返回的結果集

 1.AJAX格式 $.ajax({ //請求方式post /get type:'post', //請求地址 url:'${ctx}/business/userActivateOrder/getOrders', //請求資料型別 dataType:'js

HttpClient 傳送Post Get請求例子 包含設定請求頭資訊和獲取返回頭資訊

                package com.test.action;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.commons.httpclient.De

HttpClient 傳送Post Get請求例子(包含設定請求頭資訊和獲取返回頭資訊)

package com.test.action; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.commons.httpclient.DefaultHt

Android用httpURLConnection傳送post網路請求並拿到資料

package com.boyouhui.www.http; /**  * 本類發http請求,記著要開網路許可權  *   */ import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOE

Java 後臺模擬傳送 POST GET 請求

1.通過get方式傳遞伺服器資料 /** * 傳送GET請求 * @param path 請求路徑 * @param params 請求引數 * @param encoding 編碼 * @return 請求是否成功 */ private sta

Java學習--HttpURLConnection傳送post請求

import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; /**

C# 傳送Http協議 模擬 Post Get請求

1.引數 paramsValue的格式 要和 Reques.ContentType一致, 如果 contentype  "application/x-www-form-urlencoded" 表單型別,那麼  引數為   a=1&b=2 形式 如果 。。

【介面測試】:HttpURLConnection 傳送post請求

現在根據專案的需要,已經轉戰服務端的測試,就先從最簡單的傳送post請求,獲取響應資料,對json串解析 需求: 1、模擬不同國家的客戶端,去請求對應國家的任務 2、模擬不同的國家IP、模擬引數 3、Post傳送 post的方法類,程式碼如下:

Java利用HttpURLConnection傳送post請求

URL url = null; HttpURLConnection http = null; try { url = new URL(urls); http = (HttpURLConnecti

使用HttpURlConnection 傳送POST請求上傳檔案(帶引數)

前言 最近在做一個部落格的小專案,需要用到檔案上傳,HttpClient又被Android給棄用了,圖片框架暫時還沒學。只能使用HttpURLConnection來上傳。折騰了好久,今天終於順利地跟後臺完成了對接。因此,寫這篇部落格梳理一下知識。 理論知

Java利用HttpURLConnection傳送post請求上傳檔案

在頁面裡實現上傳檔案不是什麼難事,寫個form,加上enctype = "multipart/form-data",在寫個接收的就可以了,沒什麼難的,如果要用java.net.HttpURLConnection來實現檔案上傳,還真有點搞頭.:-)   1.先寫個servle

基於RFS(robot framework selenium)框架模擬POST/GET請求執行自動化接口測試

files use key get align git eat 發送 網頁 轉載自:http://www.cnblogs.com/jerry-yin/articles/4812012.html 今天研究了一下基於RFS自動化測試框架實現HTTP的POST/GET請求發送

curl pur delete post get請求類型參數

request 參數 httpget get class code 如何 tty etop curl如何發起DELETE/PUT請求 DELETE: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ‘DELETE‘); PUT: curl_

C# 發送Http協議 模擬 Post Get請求

head log cnblogs cep bsp empty read ram color 1.參數 paramsValue的格式 要和 Reques.ContentType一致, 如果 contentype "application/x-www-form-urlenco

關於java post get請求Demo (請求c#iis接口)

錯誤 use nbsp plain generate 哈哈 pack () 技術 廢話不多說,直接上代碼 package dxq.httpGetDemo; import java.io.ByteArrayOutputStream; import java.io.Inpu

Linux curl 命令模擬 POST/GET 請求

文件時間 範圍 enc 響應頭 err continue out 引用 什麽 curl 命令,是一個利用URL規則在命令行下工作的文件傳輸工具。 curl 支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱curl為下載工具。 作為一款強力工具,curl支持包括HT

Koa2學習系列04-POST/GET請求——常見請求方式處理

Http 請求 在學習了 koa-router 之後,我們就可以用它來處理一些常見的請求了,比如 POST/GET 。   koa-router 提供了 .get、.post、.put 和&nb