atitit.http get post的原理以及框架實現java php
1. 相關的設定
1.1. urlencode
1.2. 輸出流的編碼
1.3. 圖片,檔案的post
2. get比較簡單只是文字串
好像沒有編碼的問題
3. post 位元組流(基礎)
public static String sendPost(String url, byte[] bytes)
作者:: 老哇的爪子 Attilax 艾龍, EMAIL:1466519819@qq.com
轉載請註明來源: 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