加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

HttpClient通过GET和POST获取网页内容

发布时间:2020-12-15 03:20:40 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 最简单的HTTP客户端,用来演示通过GET或者POST方式访问某个页面 /** * 中国银行支付网关---银行回调的接口 * @svncode a href="svn://10.210.71.10/sin

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

最简单的HTTP客户端,用来演示通过GET或者POST方式访问某个页面
 
/**
 * 中国银行支付网关---银行回调的接口
 * @svncode <a href="svn://10.210.71.10/sinapay_bank/src/java/cn/com/sina">svn://10.210.71.10/sinapay_bank/src/java/cn/com/sina
 * @package cn.com.sina.pay.Bank.BOC
 * @author [email?protected]
 * @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("<a href="https://ebspay.boc.cn/PGWPortal/QueryOrder.do">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();
        }
   }
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读