HTTP傳送POST請求說明

2021-07-11 21:07:15 字數 2325 閱讀 9290

簡訊下發工具類介面**邏輯與技術要點概括:

開發工具:myeclipse9.0+tomcat6.0x

測試方式:main方法體現,直接呼叫當前類內部介面方法(引數都走配置化)

工具類主方法:sendmsgupdown()方法體體現內容:

<1>引數配置化:

<2>引數值獲取與校驗:

eq--  string url = paramutil.getresourcebundle("automsgsendurl");//設定http請求url

eq--   if(url != null && url.trim().length() > 0)catch(exception e)

<4>httppost請求過程:

1.根據請求url型別獲取huc子類物件,開啟連線:(httpurlconnection) realurl.openconnection();    --realurl.openconnection函式會根據url型別返回不同的urlconnection子類物件,本文的url是乙個http,因此實際返回的是httpurlconnection(用途:以便用到httpurlconnection更多api)

2.連線引數屬性設定:(http頭)

connection.setreadtimeout(10 * 1000);

connection.setconnecttimeout(10 * 1000);

connection.setrequestmethod("post");--設定post請求,預設是get

connection.setdoinput(true);--讀取連線請求,預設設定為true

connection.setdooutput(true);--設定是否向connection輸出,因為是post請求,引數要放在http正文內,需要設定為true

connection.setusecaches(false);--post請求不能使用快取

connection.setrequestproperty("encoding", encoding.trim());--設定本次連線的content-type

3.配置內容需要進行連線:

connection.getoutputstream()--此處會隱含的進行connect,用這個不呼叫.connect()也可以

connection.connect();--從.openconnection至此的配置必須在connect之前完成

4.向物件輸出流寫出資料,這些資料將存到記憶體緩衝區中:

outputstreamwriter.write(poststr);(http正文)

5.outputstreamwriter.flush(); --重新整理物件輸出流,將任何位元組都寫入潛在的流中

outputstreamwriter.close();關閉流物件後不能再向物件輸出流寫入任何資料

6.post與get的區別:post的引數不是放在url字串裡,而是放在http請求的正文內

7.getinputstream()函式的呼叫標誌http請求正式傳送到伺服器:

connection.getinputstream();--實際傳送請求的**段就是這裡,該方法已呼叫,表示本次http請求已結束,下面任何向物件輸出流的輸出已無任何意義

httppost使用總結:

1.httpurlconnection的connect()函式,實際只是建立乙個與伺服器的tcp連線,並沒有實際傳送http請求。

2.http請求格式要求設定順序是重中之重。

3.http請求由2部分組成:http頭(包含此次請求所有配置都在這裡定義)&&正文content。

4.httpurlconnection物件不能直接構造,需要通過url.openconnection()來獲得httpurlconnection物件。

通過http流傳送post請求

一般都是用curl擴充套件來完成,看了手冊的通過stream的方式更加簡單。請求指令碼stream.php 這裡區分大小寫 12 content json encode body 14 15 16 建立流上下文 17 context stream context create opts 18 將上下...

模擬http傳送post請求並返回資料

httpclient 是 apache jakarta common 下的子專案,可以用來提供高效的 最新的 功能豐富的支援 http 協議的客戶端程式設計工具包,並且它支援 http 協議最新的版本和建議。本文首先介紹 httpclient,然後根據作者實際工作經驗給出了一些常見問題的解決方法。t...

C語言 HTTP傳送post和get請求

安裝curl環境 apt install curl apt get install libcurl4 openssl dev使用c語言來做http協議,然後傳送post和get請求,這裡為post請求的 如下 include include include include include myjso...