httpclient 模拟浏览器请求

2016-03-16|来源:

httpclient伪装浏览器请求的核心思想是设置http请求头信息,如果User-Agent:

httpPost.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36");


 示例:
package com._656463.httpclient;
  
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
  
public class DoPOST {
  
    public static void main(String[] args) throws Exception {
        // 创建Httpclient对象
        CloseableHttpClient httpclient = HttpClients.createDefault();
        // 创建http POST请求
        HttpPost httpPost = new HttpPost("http://www.oschina.net/");
  
        httpPost.setHeader(
                "User-Agent",
                "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36");
  
        CloseableHttpResponse response = null;
        try {
            // 执行请求
            response = httpclient.execute(httpPost);
            // 判断返回状态是否为200
            if (response.getStatusLine().getStatusCode() == 200) {
                String content = EntityUtils.toString(response.getEntity(),
                        "UTF-8");
                System.out.println(content);
            }
        } finally {
            if (response != null) {
                response.close();
            }
            httpclient.close();
        }
    }
}

本文参考网络


相关问答

更多

java 怎么模拟浏览器登陆网站

可以用 HttpClient 教程请百度

关于java httpclient编程的问题

引入的三个包在path下(编译器右键工程-属性-BuildPath)可以看到吗,发个截图看看吧

java 模拟登录问题,使用httpclient

需要先判断一下是否登陆成功,只要登陆成功client对象就应该得到cookie了,你就可以用这个client对象直接请求你需要的页面。如果不用状态码判断登陆成功,状态码可能就没什么用了。

如何使用HttpClient包实现JAVA发起HTTP请求

HttpClient可以发起Http请求. 比如要获取某页面, 那么需要分析, 是POST请求还是GET请求. 分析请求的标题头 ,参数 ,cookie等, 所以 , 分析页面请求, 才是关键, 分析好了, 直接按套路,设置标头, 设置参数, 设置cookie, 然后提交POST/GET就可以了 推荐win10自带的EDGE浏览器, 按F12弹出开发窗口, 里面详细记录了http请求

如何使用httpclient访问网络

使用Apache HttpClient访问网络 package com.szy.news.service; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.en ...

专题教程

JAVA概述
第一部分:java入门基础
第二部分:java常用类
第三部分:jdbc系列教程
第四部分:java高级特征
Gson教程
快速了解 jdk8 新特征

相关文章

更多

最近更新

更多