Jsoup http请求

背景   

   小编相信编写过Java爬虫的人对 Jsoup 绝对不会陌生的。对于他的html 解析的优越功能就不阐述了。这次所要讲的就是jsoup 的另一个应用 发送http请求。

小编以前遇到过一个问题,一个工程所布置的主机不能访问外网,但是当时的数据必须需要访问阿里在线api 。Java 代码如何能做到这点了。当然方法很多,这里我就用到了 jsoup。

详细介绍:

      pom.xml依赖

<dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.9.2</version>
 </dependency>

   java 代码如下

import org.jsoup.Connection;
import org.jsoup.Jsoup;
public class JsoupUtil {
    public static final String USER_AGENT = "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) 
    Version/9.0 Mobile/13B143 Safari/601.1";
    public static final int TIME_OUT = 30000;
    private static Logger log = LoggerFactory.getLogger(JsoupUtil.class);
    private static final String proxy_ip = "ip";
    private static final String proxy_port ="port";


    public static String sendPost(String url, Map params) {
        log.info("请求的url------:{}", url);
        Connection con = Jsoup.connect(url)
                .userAgent(USER_AGENT)
                .timeout(TIME_OUT)
                .method(Connection.Method.POST)
                .ignoreContentType(true);
         con.proxy(proxy_ip, Integer.parseInt(proxy_port));
         con.data(params);
        
        Connection.Response rs = null;
        try {
            rs = con.execute();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return rs.body();
    }

    public static String sendGet(String url) {
        log.info("请求的url-----:{}", url);
        Connection conn = Jsoup.connect(url)
                .userAgent(USER_AGENT)
                .timeout(TIME_OUT)
                .method(Connection.Method.GET)
                .ignoreContentType(true);
        conn.proxy(proxy_ip, Integer.parseInt(proxy_port));
        Connection.Response rs = null;
        try {
            rs = conn.execute();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return rs.body();
    }
}

  结束了。

猜你喜欢

转载自www.cnblogs.com/pcaddos/p/10345103.html