首页 > 解决方案 > CloudFlare Scrape 403 禁止

问题描述

我在尝试向https://www.off---white.com/en/IT/orders/populate.json发送发布请求以将商品添加到购物车时收到“403 禁止”错误以下页面:https ://www.off---white.com/en/IT/women/products/owea143e18a640731001 。

这是我的代码:

import cfscrape
scrape = cfscrape.create_scraper()
payload = {"variant_id": "107917", "quantity": "1"}
headers={
    "accept":"application/json, text/javascript, */*; q=0.01",
    "accept-encoding": "gzip, deflate, br",
    "accept-language": "en-US,en;q=0.9",
    "content-length": "35",
    "content-type": "application/json; charset=UTF-8",
    "refer": "https://www.off---white.com/en/IT/women/products/owea143e18a640731001",
    "origin":"https://www.off---white.com",
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
    "x-requested-with": "XMLHttpRequest"
    }

res = scrape.post("https://www.off---white.com/en/IT/orders/populate.json",headers=headers,data=payload)
print(res.status_code)  #=403 :(

谢谢你。

编辑:显然我需要饼干。我将代码更改如下,但我仍然被 403 禁止。

cookie, user_agent=scrape.get_cookie_string("https://www.off---white.com/en/IT/women/products/owea143e18a640731001")
headers={
    "authority":"www.off---white.com",
    "accept":"application/json, text/javascript, */*; q=0.01",
    "accept-encoding": "gzip, deflate, br",
    "accept-language": "en-US,en;q=0.9",
    "content-length": "35",
    "content-type": "application/json; charset=UTF-8",
    "refer": "https://www.off---white.com/en/IT/women/products/owea143e18a640731001",
    "origin":"https://www.off---white.com",
    "cookie": cookie,
    "user-agent": user_agent,
    "x-requested-with": "XMLHttpRequest"
    }
res = scrape.post("https://www.off---white.com/en/IT/orders/populate.json",headers=headers,data=payload)

关于仍然缺少什么的一些提示?

EDIT2:我还尝试了以下方法:

tokens, user_agent=scrape.get_tokens("https://www.off---white.com/en/IT/women/products/owea143e18a640731001")
headers={
    "authority":"www.off---white.com",
    "accept":"application/json, text/javascript, */*; q=0.01",
    "accept-encoding": "gzip, deflate, br",
    "accept-language": "en-US,en;q=0.9",
    "content-length": "35",
    "content-type": "application/json; charset=UTF-8",
    "refer": "https://www.off---white.com/en/IT/women/products/owea143e18a640731001",
    "origin":"https://www.off---white.com",
    "user-agent": user_agent,
    "x-requested-with": "XMLHttpRequest"
    }
res = scrape.post("https://www.off---white.com/en/IT/orders/populate.json",headers=headers,data=payload,cookies=tokens)

再次,没有运气。此外,无论我如何提交 cookie,我注意到每当我拥有它们时,请求都会立即被拒绝,cfscrape 的 node.js 窗口甚至都不会打开。

标签: pythonpython-3.xpython-requests

解决方案


您确定 Content-Length 正确吗?这可能是一个问题。通常你不需要包含它,它会在以后自行添加。另一个问题很可能是 cookie。我没有看到您通过 POST 请求发回 cookie。有 2 个必需的 cookie,一个是您未发送的 _hs_session_v3。

编辑:在您的浏览器中执行此操作: 1. 获取到 off---white.com 的请求。保存所有这些cookie。2. GET 请求来自 off---white.com/en/IT/women/products/…。保存那些cookies。3. POST 请求将起作用。要对此进行测试,请执行以下操作:清除所有浏览器缓存/cookie。转到 off---white.com/en/IT/women/products/…,它甚至不加载页面.. 为什么不呢?您的 cookie 未设置。该网站正在使用您的 cookie 来确定您的请求是否有效。您正在请求一个依赖 cookie 进行有效响应的页面。

当我点击时,添加到包中,这是 curl: curl ' https://www.off---white.com/en/IT/orders/populate.json ' -H 'cookie: __cfduid=db351a20a2752d5459220f241c66440371539900632; 解雇cookie_law =真;guest_token=Im41TjNZWFBFRFFwaUdvNkpTeVJDZnci--1fca5ea27af50cba12cd96f088975f5f5e0647ac; __riskifiedBeaconSessionId=c0f01056-f52a4b5a-76f25d73-cdb11d12-c2f20dbc-8173a1e0; cf_clearance=eb87f25251aeab5062f65bc7a5261b9cbef35809-1539947407-1800-150;_hs_session_v3=UHRUWUtUVDJKTTExeEkxTVNQVlFMSVQySUR1VXlZZFJGaGZJck0zOTBPbVZSWjUvL01pR2J1UktjOXFPMTZiK2pVbm5jVGtkUU9GRVpJVGR0VWkxZGUyWGNvak5kZXllR2tEMG5yOERHMmVMaHJxaUxYRHRGVUp3NXAvZERGSm9nREZBc0Z0bDJsM241VHhzdU16S05WT3BUaFlNbVhwYkd3cGNjdHAzSHpRPS0tZ2pOR25tNzJMTWlTY3U1MDJTaW9iQT09--44bbe09a45974b9e7584588b186650946c1b6f73' -H 'origin: https://www.' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: en-US,en;q=0.9' -H 'x-requested-with: XMLHttpRequest' -H 'pragma: no-cache ' -H '用户代理:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' -H 'content-type: application/json; charset=UTF-8' -H '接受:应用程序/json,文本/javascript,/;q=0.01' -H '缓存控制:无缓存' -H '权限:www.off---white.com' -H '推荐人:https ://www.off---white.com/en /IT/women/products/owea143e18a640731001 ' -H 'dnt: 1' --data-binary '{"variant_id":null, "quantity":1}' --compressed


推荐阅读