/**
002 * 中国银行支付网关---银行回调的接口
003 * @svncode svn://10.210.71.10/sinapay_bank/src/java/cn/com/sina
004 * @package cn.com.sina.pay.Bank.BOC
005 * @author yuchao1
006 * @date 20101014
007 * @access limited by password
008 * @reference cn.com.sina.pay.ICBC
009 *
010 */
011 import java.io.*;
012 import java.util.*;
013 import org.jdom.Document;
014 import org.jdom.Element;
015 import org.jdom.Namespace;
016 import org.jdom.JDOMException;
017 import org.jdom.input.SAXBuilder;
018 import org.xml.sax.InputSource;
019
020 import org.apache.commons.httpclient.*;
021 import org.apache.commons.httpclient.methods.*;
022 import org.apache.commons.httpclient.methods.PostMethod;
023 import org.apache.commons.httpclient.params.HttpMethodParams;
024 /**
025 * 最简单的HTTP客户端,用来演示通过GET或者POST方式访问某个页面
026 * @author yuchao
027 */
028 public class HttpClient1{
029 public static void main(String[] args) throws IOException
030 {
031 String merchantNo = "104110053004253";
032 String orderNo = "101023416806";
033 String signData = "SDJFALSF";
034
035 HttpClient client = new HttpClient();
036
037 //使用POST方法
038 PostMethod postMethod = newPostMethod("https://ebspay.boc.cn/PGWPortal/QueryOrder.do");
039 /**
040 * 使用POST方式提交数据
041 */
042 NameValuePair[] orderInfo = {newNameValuePair("merchantNo",merchantNo),new NameValuePair("orderNos",orderNo),
043 new NameValuePair("signData",signData),};
044 postMethod.setRequestBody(orderInfo);
045
046 client.executeMethod(postMethod);
047
048 int code = postMethod.getStatusCode();
049 if (code == HttpStatus.SC_OK){
050 String info = null;
051 info = new String(postMethod.getResponseBodyAsString());
052 }
053
054 /**
055 * 打印服务器返回的状态
056 */
057 System.out.println("the post return value"+postMethod.getStatusLine());
058 /**
059 * 打印结果页面
060 */
061 String response = newString(postMethod.getResponseBodyAsString().getBytes("UTF-8"));
062 /**
063 * 打印返回的信息
064 */
065 System.out.println("the getBytes() xml is:"+response);
066 //打印返回的信息
067 String resCode = postMethod.getResponseBodyAsString();
068 System.out.println("the is my other xml:"+resCode);
069 //释放连接
070 postMethod.releaseConnection();
071
072
073
074 StringReader read = new StringReader(resCode);
075 InputSource source = new InputSource(read);
076 SAXBuilder sb = new SAXBuilder();
077
078 try{
079 Document doc = sb.build(source);
080 Element root = doc.getRootElement();
081
082 System.out.println("the getName is:"+root.getName());
083 List jiedian = root.getChildren();
084 //获得XML中的命名空间(XML中未定义可不写)
085 Namespace ns = root.getNamespace();
086 Element et = null;
087 List orderList = null;
088
089 for (int i=0;i<jiedian.size();i++)
090 {
091 et = (Element)jiedian.get(i);
092
093 if(et.getName().equals("header")){
094 System.out.println(et.getChild("merchantNo", ns).getText());
095 System.out.println(et.getChild("exception", ns).getText());
096 }
097
098 if(et.getName().equals("body")){
099 orderList = et.getChildren();
100 System.out.println(et.getChild("orderTrans", ns).getChild("orderStatus").getText());
101 }
102
103 }
104 for (int i=0;i<orderList.size();i++)
105 {
106 et = (Element)orderList.get(i);
107
108 if(et.getName().equals("orderTrans")){
109 System.out.println(et.getChild("payTime", ns).getText());
110 }
111
112 }
113 }catch(JDOMException e){
114 e.printStackTrace();
115 }catch(IOException e){
116 e.printStackTrace();
117 }
118 }
119 }
httpclient4
原创
©著作权归作者所有:来自51CTO博客作者mb64216b23e45d0的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C语言学习4
学习第四天打卡
全局变量 寄存器 局部变量 -
HttpClient4之模拟http请求
Java code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546...
HttpClient4之模拟http请求 Http apache java 实例化 -
HttpClient4登陆有验证码的网站
其实就这个问题,本来是很简单的,我自己花了近两个下午才搞定,现在记录一下。也希望能
java apache 验证码 -
HttpClient4 Post/Put XML到一个服务器上
1、参数名方式POST XML数据import org.apache.http.*; import org.apache.http.clientlient.Default...
XML Apache Servlet Java JavaEE -
客户端HttpClient4处理 Servlet Gzip后的内容
1、服务器端servlet代码:protected void doPost(HttpServletRequest request, HttpServletResponse respo
httpClient http协议 apache 拦截器 客户端 -
mongodb文件配置失败
配置文件部分 MongoDB引入一个YAML-based格式的配置文件。2.4版本以前的仍然兼容。我的mongodb配置文件: ? 1 2 3 4 5
mongodb文件配置失败 数据库 运维 json mongodb