发送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();