HttpClient的概念就是模仿浏览器请求服务端内容,也可以做App和Server之间的链接。

这个是关于Java的HttpClient的简单实例,其实java本身也可以通过自己的net包去做,但是在应用上还是HttpClient方便很多

地址是:http://hc.apache.org/downloads.cgi 
下面是java的实例(这里使用了json的jar包,可以前往http://mvnrepository.com/artifact/org.json/json去寻找下载):

注意:jdk1.8

import java.io.IOException;

import org.apache.http.Header;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicHeader;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.JSONTokener; public class WebSiteRequest {
public static void main(String args[]) {
String reqUri = "https://xxx.com";
String parm = "data=0_0_1" CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpResponse response = null;
HttpPost httpPost = new HttpPost(reqUri + "?" + parm);
Header ContentTypeHeader = new BasicHeader("Content-Type", "application/x-www-form-urlencoded");
httpPost.addHeader(ContentTypeHeader);
try {
response = httpclient.execute(httpPost);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
int statusCode = response.getStatusLine().getStatusCode();
String getResult = null;
if (statusCode != HttpStatus.SC_OK) {
System.out.println("error status code: " + statusCode);
} else {
try {
getResult = EntityUtils.toString(response.getEntity());
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
if (getResult != null) {
JSONObject jsonObject = null;
try {
jsonObject = (JSONObject) new JSONTokener(getResult).nextValue();
System.out.println("retcode: " + jsonObject.getString("retcode"));
} catch (JSONException jsonException) {
jsonException.printStackTrace();
}
}
} finally {
try {
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

最新文章

  1. Fragment调用Activity
  2. tomcat架构分析 (Session管理)
  3. 浅析 Java Thread.join()
  4. NTT
  5. Qt之读取配置文件
  6. 用Python进行语音信号处理
  7. 「操作系统」: Conditional Move Instructions(trap)
  8. Windows7下搭建Django运行环境
  9. javascript学习(2)修改html元素和提示对话框
  10. Python 实现文件复制、删除
  11. 如何在eclipse中快速debug到想要的参数条件场景下
  12. MyEclipse 2015 Stable 2.0破解方法
  13. react-native-echarts 解决数据刷新闪烁,不能动态连续绘制问题(转载)
  14. mock.js 劫持 ajax,模拟数据
  15. USB协通讯议--深入理解【转】
  16. Installing Python Modules
  17. PAT 1048 数字加密(20)(代码+思路)
  18. java多线程---------java.util.concurrent并发包
  19. HTML下在IE浏览器中的专有条件注释
  20. Java分布式:RPC(远程过程调用)

热门文章

  1. 2017.9.18 include指令和include动作有什么区别?
  2. atoi简析
  3. 查询删除的SAP凭证
  4. BeanUtils工具的实现
  5. 使用Jmeter性能测试,读取csv文件时的乱码问题
  6. (转)在图像处理中,散度 div 具体的作用是什么?
  7. (三)Swagger配置多项目共用
  8. PHP队列的实现
  9. datetime模块及time模块
  10. SGU 169 numbers 数学