【发布时间】:2020-10-02 20:28:06
【问题描述】:
代码不起作用。由于系统使用 cloudflare,出现 403 错误 当我使用任何 http 代理(burp 套件/提琴手等)时,我会看到 csrfToken。有用。 为什么使用本地代理时会起作用?
import requests
from bs4 import BeautifulSoup
headerIstek = {
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19041",
"Sec-Fetch-Site" : "none",
"Accept-Language" : "tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7"
}
istekLazim = {"ref":"","display_type":"popup","loc":""}
istekLogin = requests.get("https://www.example.com/join/login-popup/", headers=headerIstek, cookies={"ud_rule_vars":""}, params=istekLazim, verify=False)
soup = BeautifulSoup(istekLogin.text, "html.parser")
print(istekLogin.request.headers)
csrfToken = soup.find("input", {"name":"csrfmiddlewaretoken"})["value"]
print(csrfToken)
【问题讨论】:
-
这可能是一个重复的问题。 stackoverflow.com/questions/47356806/… 为什么不使用 Seliunum 或 API?
标签: python python-3.x beautifulsoup python-requests cloudflare