當前位置:首頁 » 操作系統 » javahttp源碼

javahttp源碼

發布時間: 2022-12-25 14:57:43

⑴ 求一段java模擬Http請求的代碼(帶注釋)

用httpclient就行
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://www.google.com");
httpGet.addHeader("MyHeader", "MyValue");

try {
String body = httpClient.execute(httpGet, new ResponseHandler<String>() {

@Override
public String handleResponse(HttpResponse response) throws IOException {
Header firstHeader = response.getFirstHeader("MyHeader");
String headerValue = firstHeader.getValue();
return EntityUtils.toString(response.getEntity());
}
});
} catch (IOException e) {
e.printStackTrace();
}

源碼看的很頭疼,java中的HttpURLConnection類中的,有高人嗎

建議使用httpclient框架,這個比HttpURLConnection好用多了,以下是請求示例:
1. GET 方式傳遞參數

//先將參數放入List,再對參數進行URL編碼
List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "數據")); //增加參數1
params.add(new BasicNameValuePair("param2", "value2"));//增加參數2
String param = URLEncodedUtils.format(params, "UTF-8");//對參數編碼
String baseUrl = "伺服器介面完整URL";
HttpGet getMethod = new HttpGet(baseUrl + "?" + param);//將URL與參數拼接
HttpClient httpClient = new DefaultHttpClient();
try {
HttpResponse response = httpClient.execute(getMethod); //發起GET請求
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //獲取響應碼
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//獲取伺服器響應內容
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

2. POST方式 方式傳遞參數
//和GET方式一樣,先將參數放入List
params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "Post方法"));//增加參數1
params.add(new BasicNameValuePair("param2", "第二個參數"));//增加參數2
try {
HttpPost postMethod = new HttpPost(baseUrl);//創建一個post請求
postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //將參數填入POST Entity中
HttpResponse response = httpClient.execute(postMethod); //執行POST方法
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //獲取響應碼
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //獲取響應內容
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

⑶ java寫的發送http頭的程序

看得我很是糾結
你這是socket連接還是http連接呀?
建議使用httpClient

⑷ java http請求時怎麼返回錯誤頁面源碼 (例如返回404時的頁面源碼),我的程序遇到這種就報錯。

用getErrorStream();

Scanner s;
if (connection.getResponseCode() != 200) {
s = new Scanner(connection.getErrorStream());
} else {
s = new Scanner(connection.getInputStream());
}

⑸ 怎麼在電腦上運行Java源程序代碼

http://hi..com/%D1%EE%5F%C1%F5/blog/item/55d15c35a8b7ca87a71e122e.html
上面的網址是java掃雷的源代碼

要運行,首先要配置環境變數(方法可參考網上)
其次找到程序所在的盤符目錄,比如java掃雷程序,放在了
E:\Java掃雷中,那麼在DOS下就要到此目錄

然後依次輸入javac *.java(編譯
java *(運行)即可

熱點內容
thinkphp關掉緩存 發布:2025-07-12 23:44:01 瀏覽:86
互動平台源碼 發布:2025-07-12 23:42:15 瀏覽:9
矩形密碼是什麼 發布:2025-07-12 23:41:15 瀏覽:407
kvm存儲技術包括 發布:2025-07-12 23:41:15 瀏覽:950
安卓手機網路怎麼設置才好 發布:2025-07-12 23:33:01 瀏覽:272
怎麼修改手機號服務密碼 發布:2025-07-12 23:29:37 瀏覽:158
myeclipsejsp資料庫連接 發布:2025-07-12 23:26:25 瀏覽:553
凱迪拉克ct6電磁懸掛是哪個配置 發布:2025-07-12 23:24:38 瀏覽:597
linuxnginx重啟 發布:2025-07-12 23:11:00 瀏覽:803
電腦檢查伺服器 發布:2025-07-12 23:10:59 瀏覽:606