由于 cloudflare,无法从 url 读取数据
Posted
技术标签:
【中文标题】由于 cloudflare,无法从 url 读取数据【英文标题】:Can't read data from url due to cloudflare 【发布时间】:2016-12-31 20:31:25 【问题描述】:每当我编译时,我都会得到这个:
线程“main”java.io.IOException 中的异常:服务器返回 HTTP 响应代码:403 用于 URL:链接位于 sun.net.www.protocol.http.HttpURLConnection.getInputStream0(未知 来源)在 sun.net.www.protocol.http.HttpURLConnection.getInputStream(未知 源)在 java.net.URL.openStream(未知源)在 readdata.aaa.main(aaa.java:15)
我的脚本是:
package readdata;
import java.net.*;
import java.io.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class aaa
public static void main(String[] args) throws Exception
URL oracle = new URL(" the link ");
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null)
a.append(inputLine);
in.close();
int i = 0;
Pattern p = Pattern.compile("Open");
Matcher m = p.matcher( a );
while (m.find())
i++;
System.out.println(i);
我是否可以绕过 cloudflare 从 URL 读取数据?
【问题讨论】:
【参考方案1】:之前
URL oracle = new URL(" the link ");
插入:
System.setProperty("http.agent", "Chrome");
这可能是因为 CloudFlare 阻止了未知代理请求,因此此代码将 User-Agent 设置为 CloudFlare 识别的 Chrome。
【讨论】:
不敢相信我把头发扯掉了以上是关于由于 cloudflare,无法从 url 读取数据的主要内容,如果未能解决你的问题,请参考以下文章
由于 Cloudflare,从今天开始无法使用 BeautifulSoup 解析 coin gecko 页面
如何从 Cloudflare 工作人员内部发布到 GCP PubSub 主题
从 http 请求到 Cloudflare 托管网站的 403
无法通过具有客户端凭据流的 CloudFlare Worker 对 Spotify API 进行 OAuth