怎么在java中使用common-httpclient包实现post请求?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。 3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import java.util.zip.GZIPInputStream;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class HTTPUtils {
private static Logger logger = LoggerFactory.getLogger(HTTPUtils.class);
/**
* post请求
* @param url
* @param json
* @return
*/
public static String postJosnContent(String url, String Json) throws Exception {
// HttpPost method = new HttpPost(url);
// DefaultHttpClient httpClient = new DefaultHttpClient();
// String ret = null;
// try {
// StringEntity entity = new StringEntity(Json,"UTF-8");//解决中文乱码问题
// entity.setContentEncoding("UTF-8");
// entity.setContentType("application/json");
// method.setEntity(entity);
// HttpResponse result = httpClient.execute(method);
// ret = EntityUtils.toString(result.getEntity());
// } catch (Exception e) {
// throw e;
// } finally {
// method.releaseConnection();
// }
// return ret;
logger.error("请求接口参数:" + Json);
PostMethod method = new PostMethod(url);
HttpClient httpClient = new HttpClient();
try {
RequestEntity entity = new StringRequestEntity(Json,"application/json","UTF-8");
method.setRequestEntity(entity);
httpClient.executeMethod(method);
logger.error("请求接口路径url:" + method.getURI().toString());
InputStream in = method.getResponseBodyAsStream();
//下面将stream转换为String
StringBuffer sb = new StringBuffer();
InputStreamReader isr = new InputStreamReader(in, "UTF-8");
char[] b = new char[4096];
for(int n; (n = isr.read(b)) != -1;) {
sb.append(new String(b, 0, n));
}
String returnStr = sb.toString();
return returnStr;
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
method.releaseConnection();
}
}
}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。