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

posted @ 2018-05-09 16:48  宇枫  阅读(3939)  评论(0编辑  收藏  举报