使用 HttpClient 需要以下 6 个步骤:
1. 创建 HttpClient 的实例
2. 创建某种连接方法的实例,在这里是 GetMethod。在 GetMethod 的构造函数中传入待连接的地址
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理
案例如下:
HttpClient client = new HttpClient();
client.setConnectionTimeout(1000 * 60 * 5);
client.getParams().setContentCharset("utf-8");
PostMethod method = new PostMethod(“接口地址”);
Part[] parts = {new FilePart("filedata", pdf),//参数为附件,传入一个文件流
new StringPart("userNick", URLEncoder.encode("沈飞", "utf-8")) };
//method.setParameter("AAA","AAAA");
method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams()));//设置传送的相关参数
int status = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + getMethod.getStatusLine());
}
responseText = method.getResponseBodyAsString();//返回相关信息
method.releaseConnection(); //释放链接
ps: 有get 和post两种方式,案例给的为 post方式,get方式为
GetMethod getMethod = new GetMethod("http://www.ibm.com"),getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,new DefaultHttpMethodRetryHandler());
参数有多中,以上提到两种:
NameValuePair[] data = { new NameValuePair("id", "youUserName"), new NameValuePair("passwd", "yourPwd") };
--针对返回的结果,我们可以用json进行反转
JSONObject jsonObject = JSONObject.fromObject(responseText);
jsonObject.get("success")获取相关属性对应的值;