簡訊下發工具類介面**邏輯與技術要點概括:
開發工具: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...