用httpclient遇到403错误
来源:互联网 发布:医院大数据风控 编辑:程序博客网 时间:2024/05/20 08:24
前两天看到个问题,抓网页时,返回403,浏览器打开没问题。用的httpclient进行抓取,代码很简单。网上找了一版。
String url="http://localhost:8080/HttpClientDemo/test"; HttpGet httpRequest=new HttpGet(url); HttpClient httpClient=new DefaultHttpClient(); HttpResponse response=httpClient.execute(httpRequest); if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){ String result=EntityUtils.toString(response.getEntity()); System.out.println(result); }
要模拟浏览器,就要填http的参数,于是重写一把。
HttpClient client = null; // 对链接超过时的设置HttpParams httpParams;ClientConnectionManager connectionManager;// 数据设置// 最大链接数int max_connection = Integer.parseInt(ReadSpiderConfig.getValue("max_connections"));// 获取链接的最大等待时间int wait_connection_timeout = Integer.parseInt(ReadSpiderConfig.getValue("wait_connection_timeout"));// 连接超时时间int connection_timeout = Integer.parseInt(ReadSpiderConfig.getValue("connection_timeout"));// 读取超时int read_timeout = Integer.parseInt(ReadSpiderConfig.getValue("read_timeout"));httpParams = new BasicHttpParams();// HttpConnectionParams.ConnManagerParams.setMaxTotalConnections(httpParams, max_connection);ConnManagerParams.setTimeout(httpParams, wait_connection_timeout);//每个路由的最大链接个数,标志对同一站点的并发请求ConnPerRouteBean connPerRoute = new ConnPerRouteBean(100);ConnManagerParams.setMaxConnectionsPerRoute(httpParams, connPerRoute);HttpConnectionParams.setConnectionTimeout(httpParams,connection_timeout);HttpConnectionParams.setSoTimeout(httpParams, read_timeout);SchemeRegistry registry = new SchemeRegistry();registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));registry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));connectionManager = new ThreadSafeClientConnManager(httpParams,registry);// httpParams.setParameter(ClientPNames.HANDLE_REDIRECTS,false);client = new DefaultHttpClient(connectionManager, httpParams);
1 0
- 用httpclient遇到403错误
- cocos2d-x HttpClient 连接遇到的错误记录
- 使用httpclient中EntityUtils类解析entity遇到socket closed错误的原因
- 用HttpClient解析HTML时遇到的乱码问题
- HTTPClient请求错误
- HttpClient 302 错误
- httpclient遇到socket closed解决办法
- java httpclient访问某些网页报403错误
- 用java Socket实现HttpClient可能出现的一个错误
- 用ci框架遇到的错误一
- 用List的迭代器遇到的错误
- 项目中遇到的httpclient性能问题
- 导入httpClient.jar包遇到的坑
- 今天遇到的错误
- 遇到的hibernate错误
- java遇到的错误
- java遇到的错误
- 安装nginx遇到错误
- Window7下安装CGAL(VS2013)
- 自定义控件实现控件间距
- 【BZOJ1011】【HNOI2008】遥远的行星 根据所允许的误差进行模糊DP
- 使用ngrok快速地将本地Web服务映射到外网
- android web页面点击事件跳转至APP
- 用httpclient遇到403错误
- 仿spring的ioc实现之注解注入的小例子
- Android如何用命令行进行打包
- tomcat 多个虚拟主机的配置
- 树状数组求区间和的一些常见模型
- ios8 UIView API使用说明
- 序列化的作用
- C++内存管理——指针&&数组
- freeswitch centos 安装