每当我编译,我得到这个:
线程中的异常" main" java.io.IOException:服务器返回HTTP 响应代码:403表示URL:链接位于 sun.net.www.protocol.http.HttpURLConnection.getInputStream0(未知 来源)at sun.net.www.protocol.http.HttpURLConnection.getInputStream(未知 来自)java.net.URL.openStream(未知来源)at 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中的数据吗?
答案 0 :(得分:1)
在
URL oracle = new URL(" the link ");
插入:
System.setProperty("http.agent", "Chrome");
这可能是因为CloudFlare阻止了未知代理请求,因此此代码将User-Agent设置为CloudFlare识别的Chrome。