本文件介绍在需要通过代理才能访问外网的情况下如何以纯Java实现发起HTTP的请求。此部分内容与上一篇博客内容大同小异,只有两处稍有不同。
1.准备需要的Jar包
需要的jar包与上一篇介绍的相同,包括:commons-httpclient-3.1.jar,commons-logging-1.1.1.jar,commons-codec-1.3.jar以及json-rpc-1.0.jar。
2.开始编码
2.1创建HTTPClient对象
HttpClient client=new HttpClient();
2.2设置代理服务器IP及代理服务器的端口(此处是与前一篇第一处不同点)
client.getHostConfiguration().setProxy(proxyHostIP, proxyPort);
2.3组装URL生成HttpMethod对象,真实的目标主机、目标主机的端口号组装到url字符串当中(此处是与前一篇第二处不同点)
String url="http://"+hostIP+":"+port+"/ysInterfaceServe/flowRecharge_v1.cgi?terminalID="+terminalID
+"&factoryID="+factoryID
+"&reqDateTime="+reqDate
+"&sign="+new String(sign).toLowerCase()
+"&requestMsg="+resMsg;
HttpMethod method = new GetMethod(url);
2.4发起HTTP请求
client.executeMethod(method);
2.5获取HTTP请求的响应信息
String response = method.getResponseBodyAsString();
2.6通过JSONObject对象解析HTTP的响应信息
JSONObject json=new JSONObject(response);
System.out.println("key: status"+" "+"values:"+json.getString("status"));
2.7释放HTTP请求
method.releaseConnection();
到此为止,java如何发起HTTP请求简述完毕!