java发送request请求_JAVA发送HttpClient请求及接收请求结果过程

package com.brainlong.framework.util.httpclient;

import net.sf.json.JSONObject;

import org.apache.commons.httpclient.HttpStatus;

import org.apache.http.HttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.entity.StringEntity;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.util.EntityUtils;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import java.io.IOException;

import java.net.URLDecoder;

public class HttpRequestUtils {

private static Logger logger = LoggerFactory.getLogger(HttpRequestUtils.class);//日志记录

/**

* httpPost

* @param url  路径

* @param jsonParam 参数

*/

public static JSONObject httpPost(String url,JSONObject jsonParam){

return httpPost(url, jsonParam,false);

}

/**

* post请求

* @param url         url地址

* @param jsonParam     参数

* @param noNeedResponse    不需要返回结果

* @return

*/

public static JSONObject httpPost(String url,JSONObject jsonParam,boolean noNeedResponse){

//post请求返回结果

DefaultHttpClient httpClient =new DefaultHttpClient();

JSONObject jsonResult =null;

HttpPost method =new HttpPost(url);

try {

if (null != jsonParam) {

//解决中文乱码问题

StringEntity entity =new StringEntity(jsonParam.toString(),"utf-8");

entity.setContentEncoding("UTF-8");

entity.setContentType("application/json");

method.setEntity(entity);

}

HttpResponse result = httpClient.execute(method);

url = URLDecoder.decode(url,"UTF-8");

/**请求发送成功,并得到响应**/

if (result.getStatusLine().getStatusCode() ==200) {

String str ="";

try {

/**读取服务器返回过来的json字符串数据**/

str = EntityUtils.toString(result.getEntity());

if (noNeedResponse) {

return null;

}

/**把json字符串转换成json对象**/

jsonResult = JSONObject.fromObject(str);

}catch (Exception e) {

logger.error("post请求提交失败:" + url, e);

}

}

}catch (IOException e) {

logger.error("post请求提交失败:" + url, e);

}

return jsonResult;

}

/**

* 发送get请求

* @param url    路径

* @return

*/

public static JSONObject httpGet(String url){

//get请求返回结果

JSONObject jsonResult =null;

try {

DefaultHttpClient client =new DefaultHttpClient();

//发送get请求

HttpGet request =new HttpGet(url);

HttpResponse response = client.execute(request);

/**请求发送成功,并得到响应**/

if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {

/**读取服务器返回过来的json字符串数据**/

String strResult = EntityUtils.toString(response.getEntity());

/**把json字符串转换成json对象**/

jsonResult = JSONObject.fromObject(strResult);

url = URLDecoder.decode(url,"UTF-8");

}else {

logger.error("get请求提交失败:" + url);

}

}catch (IOException e) {

logger.error("get请求提交失败:" + url, e);

}

return jsonResult;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值