【发布时间】:2023-10-20 23:26:01
【问题描述】:
我尝试使用 java 模拟请求,但每次我尝试发送它时,我都会得到一个 cloudflare 429,当使用 fiddler 模拟相同的请求时,我得到 200。 Java 代码(不工作):
Jsoup.connect("")
.userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36")
.header("Connection", "keep-alive")
.header("Cache-Control", "max-age=0")
.header("Upgrade-Insecure-Requests", "1")
.header("Sec-Fetch-Dest", "document")
.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9")
.header("Sec-Fetch-Site", "none")
.header("Sec-Fetch-Mode", "navigate")
.header("Sec-Fetch-User", "?1")
.header("Accept-Encoding","gzip, deflate, br")
.header("Accept-Language","en-US,en;q=0.9,he-IL;q=0.8,he;q=0.7")
.ignoreContentType(true)
.ignoreHttpErrors(true)
.method(Method.GET)
.execute();
Fiddler RAW(工作中,200)
GET
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36
Sec-Fetch-Dest: document
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,he-IL;q=0.8,he;q=0.7
字面上使用相同的标头,cloudflare 是否有另一种方式知道我没有使用 Webdriver?
【问题讨论】:
-
重定向 JSoup 请求,使其也通过 Fiddler,然后将实际发送的请求与保存的请求进行比较。