您的位置 首页 java

Java 爬虫/网络通信处理重定向问题

前言:

上星期写的追踪牛bite平台上比特币价格涨幅,因为他全部是异步加载直接抓取抓页面会没法发送异步请求,获得的是空数据,所以只能后推他们接口参数来访问获取数据,获取数据没问题,此时请求为 https ,没有考虑到重定向问题,今天来公司代码一跑,出现了

Java 爬虫/网络通信处理重定向问题

意思是: 没有任何可选的DNS名称匹配www.bullbtc.com,请求地址为:

Java 爬虫/网络通信处理重定向问题

此时请求协议为HTTPS,以为网站出问题了,然后去官网查看,没问题的,然后搜索资料说

Java 爬虫/网络通信处理重定向问题

网上只有这条跟我类似,尽管是Android的,于是改了改HTTP,浏览器能进去,后台代码呢?

返回的不是数据而是一个页面提示

Java 爬虫/网络通信处理重定向问题

出现了301,重定向,说明页面不再是这个了,我后台发的请求返回的是一个地址,所以问题;来了,到底咋回事?

从浏览器请求看看:

带有HTTPS,直接返回的是重定向后的数据

Java 爬虫/网络通信处理重定向问题

去掉s,http

Java 爬虫/网络通信处理重定向问题

301 出来了,先不说为什么http 与https 对待重定向的请求处理方式为什么不一样,至少已经找到怎么处理重定向问题了,就是我要发一个https 请求就可以解决了。

至于怎么发送https 请求代码比较多,看着也头疼,这里我也就不贴那么多了,网上有很多,需要用到了可以去搜一下,能用了建议还是好好理解一下。

SSLContext sc = SSLContext.getInstance(“SSL”);

sc.init(null, new TrustManager[]{newTrustAnyTrustManager()}, new java.security.SecureRandom());

URL console = new URL(url);

HttpsURL connect ion conn = (HttpsURLConnection) console.openConnection();

conn.setSSLSocketFactory(sc.getSocketFactory());

conn.setHostnameVerifier(newTrustAnyHostnameVerifier());

// conn.connect();

conn.setRequestProperty(“Content-Type”, “application/x-www-form-urlencoded”);

conn.setDoInput(true);

conn.setDoOutput(true);

PrintWriter writer = newPrintWriter(conn.getOutputStream());

//writer.print(httpBuildQuery(data));

writer.flush();

writer. close ();

String line;

BufferedReader bufferedReader;

StringBuilder sb = new StringBuilder();

InputStreamReader streamReader = null;

try {

streamReader = newInputStreamReader(conn.getInputStream(), “UTF-8”);

} catch (IOException e) {

streamReader = newInputStreamReader(conn.getErrorStream(), “UTF-8”);

} finally {

if (streamReader != null) {

bufferedReader = new BufferedReader(streamReader);

sb = new StringBuilder();

while ((line = bufferedReader.readLine()) != null) {

sb. append (line);

}

}

}

return sb. toString ();

总结:

出现重定向了解决方式就可以用HPPTS 来解决,不能说全部,至少目前是一种解决了这个问题,有其他方式了欢迎共享。

如需要源代码可以留言,我将源码分享一下

文章来源:智云一二三科技

文章标题:Java 爬虫/网络通信处理重定向问题

文章地址:https://www.zhihuclub.com/184085.shtml

关于作者: 智云科技

热门文章

网站地图