發送http請求,get和post兩種請求方式


GET請求
GetMethod getMethod=null;

String datas = "json=" + plain;

HttpClient httpClient = new HttpClient();
// GET 查詢交易報文
getMethod=new GetMethod();getMethod.setPath(url);// 設置服務的url
getMethod.setRequestHeader(CommonConstant.CONTENT_TYPE,CommonConstant.CONTENT_TYPE_VALUE);// 設置請求頭編碼
// 設置連接超時
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(20*1000);
// 設置讀取超時
httpClient.getHttpConnectionManager().getParams().setSoTimeout(20*1000);getMethod.setQueryString(datas);

int responseCode = httpClient.executeMethod(getMethod);System.out.println(responseCode);if(responseCode==HttpURLConnection.HTTP_OK)
{
String responseStr = new String(getMethod.getResponseBody());
}

POST請求
HttpClient httpClient=new HttpClient();

byte b[] = inParams == null ? "".getBytes() : inParams.getBytes();//把字符串轉換為二進制數據

RequestEntity requestEntity = new ByteArrayRequestEntity(b);

EntityEnclosingMethod postMethod = new PostMethod();postMethod.setRequestEntity(requestEntity);// 設置數據
postMethod.setPath(url);// 設置服務的url
postMethod.setRequestHeader("Content-Type","text/html;charset=UTF-8");// 設置請求頭編碼
//postMethod.getResponseCharSet()
// 設置連接超時
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(10*1000);
// 設置讀取超時
httpClient.getHttpConnectionManager().getParams().setSoTimeout(40*1000);statusCode=httpClient.executeMethod(postMethod);// 發送請求

BufferedReader reader = new BufferedReader(new InputStreamReader(postMethod.getResponseBodyAsStream(), Global.ENCODING));

StringBuffer stringBuffer = new StringBuffer();

String str = "";while((str=reader.readLine())!=null)
{
stringBuffer.append(str);
}responseMsg=stringBuffer.toString();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM