標籤:
atitit.http get post的原理以及架構實現java php
1. 相關的設定 1
1.1. urlencode 1
1.2. 輸出資料流的編碼 1
1.3. 圖片,檔案的post 1
2. get比較簡單只是文字串 1
3. post 位元組流(基礎) 1
4. post文字(with編碼) 2
5. 發送http請求的架構 2
5.1. jdk URLConnection 2
5.2. jdk HttpURLConnection 2
5.3. apache httpclient 2
5.4. http browser 3
6. 參考 3
1. 相關的設定1.1. urlencode1.2. 輸出資料流的編碼1.3. 圖片,檔案的post
2. get比較簡單只是文字串
好像沒有編碼的問題
3. post 位元組流(基礎)
public static String sendPost(String url, byte[] bytes)
作者:: 老哇的爪子 Attilax 艾龍, EMAIL:[email protected]
轉載請註明來源: http://blog.csdn.net/attilax
4. post文字(with編碼)
OutputStream outputStream=conn.getOutputStream();
outputStream.write(param.getBytes("UTF-8"));
// flush輸出資料流的緩衝
outputStream.flush();
5. 發送http請求的架構5.1. jdk URLConnection
Java有原生的API可用於發送HTTP請求,即java.net.URL、java.net.URLConnection,這些API很好用、很常用,但不夠簡便
5.2. jdk HttpURLConnection
是java的標準類,HttpURLConnection繼承自URLConnection,可用於向指定網站發送GET請求、POST請求。它在URLConnection的基礎上提供了如下便捷的方法:
· int getResponseCode():擷取伺服器的響應代碼。
· String getResponseMessage():擷取伺服器的響應訊息。
· String getResponseMethod():擷取發送請求的方法。
· void setRequestMethod(String method):設定發送請求的方法
5.3. apache httpclient
在一般情況下,如果只是需要Web網站的某個簡單頁面提交請求並擷取伺服器響應,HttpURLConnection完全可以勝任。但在絕大部分情 況下,Web網站的網頁可能沒這麼簡單,這些頁面並不是通過一個簡單的URL就可訪問的,可能需要使用者登入而且具有相應的許可權才可訪問該頁面。在這種情況 下,就需要涉及Session、Cookie的處理了,如果打算使用HttpURLConnection來處理這些細節,當然也是可能實現的,只是處理起 來難度就大了。
為了更好地處理向Web網站請求,包括處理Session、Cookie等細節問題,Apache開源組織提供了一個HttpClient項目,看它的名稱就知道,它是一個簡單的HTTP用戶端(並不是瀏覽器)可以用於發送HTTP請求,接收HTTP響應。但不會快取服務器的響應,不能執行HTML頁面中嵌入的Javascript代碼;也不會對頁面內容進行任何解析、處理
5.4. http browser
6. 參考
Java網路連接之HttpURLConnection與HttpClient 區別及聯絡 - 花開冬季 - 部落格頻道 - CSDN.NET.htm
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
atitit.http get post的原理以及架構實現java php