zoukankan      html  css  js  c++  java
  • HttpClient通过GET和POST获取网页内容

    中国银行支付网关---银行回调的接口

    最简单的HTTP客户端,用来演示通过GET或者POST方式访问某个页面

    /**
     * 中国银行支付网关---银行回调的接口
     * @svncode svn://10.210.71.10/sinapay_bank/src/java/cn/com/sina
     * @package cn.com.sina.pay.Bank.BOC
     * @author yuchao1@staff.sina.com.cn
     * @date 20101014
     * @access limited by password
     * @reference cn.com.sina.pay.ICBC
     * 
     */
    import java.io.*;
    import java.util.*;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.Namespace;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    import org.xml.sax.InputSource;
     
    import org.apache.commons.httpclient.*;
    import org.apache.commons.httpclient.methods.*;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.apache.commons.httpclient.params.HttpMethodParams;
    /**
     * 最简单的HTTP客户端,用来演示通过GET或者POST方式访问某个页面
     * @author yuchao
     */
    public class HttpClient1{
        public static void main(String[] args) throws IOException
        {
            String merchantNo = "104110053004253";
            String orderNo = "101023416806";
            String signData = "SDJFALSF";
             
            HttpClient client = new HttpClient();
                 
                //使用POST方法
                PostMethod postMethod = new PostMethod("https://ebspay.boc.cn/PGWPortal/QueryOrder.do");
                /**
                 * 使用POST方式提交数据
                 */
              NameValuePair[] orderInfo = {new NameValuePair("merchantNo",merchantNo),new NameValuePair("orderNos",orderNo),
                      new NameValuePair("signData",signData),};
              postMethod.setRequestBody(orderInfo);
     
              client.executeMethod(postMethod);
               
              int code = postMethod.getStatusCode();  
              if (code == HttpStatus.SC_OK){
                String info = null;
                info = new String(postMethod.getResponseBodyAsString());
              }
               
              /**
               * 打印服务器返回的状态
               */
              System.out.println("the post return value"+postMethod.getStatusLine());
              /**
               * 打印结果页面
               */
              String response =   new String(postMethod.getResponseBodyAsString().getBytes("UTF-8"));
               /**
                * 打印返回的信息
                */
              System.out.println("the getBytes() xml is:"+response);
               //打印返回的信息
             String resCode = postMethod.getResponseBodyAsString();
             System.out.println("the is my other xml:"+resCode);
               //释放连接
             postMethod.releaseConnection();
             
          
          
         StringReader read = new StringReader(resCode);
         InputSource source = new InputSource(read);
         SAXBuilder sb = new SAXBuilder();
          
         try{
            Document doc = sb.build(source);
            Element root = doc.getRootElement();
             
            System.out.println("the getName is:"+root.getName());
            List jiedian = root.getChildren();
            //获得XML中的命名空间(XML中未定义可不写)
            Namespace ns = root.getNamespace();
            Element et = null;
            List orderList = null;
             
            for (int i=0;i<jiedian.size();i++)
            {
                et = (Element)jiedian.get(i);
                 
                if(et.getName().equals("header")){
                    System.out.println(et.getChild("merchantNo", ns).getText());
                    System.out.println(et.getChild("exception", ns).getText());
                }
                 
                if(et.getName().equals("body")){
                    orderList = et.getChildren();
                System.out.println(et.getChild("orderTrans", ns).getChild("orderStatus").getText());
                }
                 
            }
            for (int i=0;i<orderList.size();i++)
            {
                et = (Element)orderList.get(i);
                 
                if(et.getName().equals("orderTrans")){
                    System.out.println(et.getChild("payTime", ns).getText());               
                }
                 
            }
            }catch(JDOMException e){
                e.printStackTrace();
          }catch(IOException e){
                e.printStackTrace();
            }
       }
    }
    

      

  • 相关阅读:
    一位阿里架构师给每个程序员的小建议
    一位阿里架构师给每个程序员的小建议
    Redis五种数据类型详解
    Redis五种数据类型详解
    Redis五种数据类型详解
    JavaScript易错知识点整理
    JavaScript易错知识点整理
    JavaScript易错知识点整理
    船上比拼酒量_暴力破解
    phantomjs
  • 原文地址:https://www.cnblogs.com/lr393993507/p/4864768.html
Copyright © 2011-2022 走看看