繁体   English   中英

通过 requests.get 从网站获取数据并接收 401 响应

[英]Getting data from website via requests.get and receiving 401 response

我正在尝试通过发送request.get从网站https://www.highspiritsuae.com/shop?Collection=WINE获取 JSON 的产品详细信息。

我是与 web 交互的新手,但是通过使用 Chrome 中的开发人员工具,我能够找到提供此 JSON 的元素并查看标题,Chrome 发送以获取它。

我创建了几行代码,但是结果收到 401。 根据谷歌,这意味着授权问题,但是当我通过浏览器打开网站时,它不需要任何登录名/密码。


url ='https://www.highspiritsuae.com/_api/wix-ecommerce-storefront-web/api?o=getFilteredProducts&s=WixStoresWebClient&q=query'
#url = 'https://www.highspiritsuae.com/_serverless/analytics-reporter/facebook/event'

t = requests.get(
    
    url,

     params = {
     "isPremium": "true",
     "metaSiteId": "fc3611a3-f8bf-4a5d-8979-51b24f693fc1",
     "origin": "Stores",
     "userId": "92f732fb-9623-461f-8e2b-40e2d1e9a49a",
     "visitorId": "f2b49b1d-3248-4551-af5f-94ae17ece5c0",
     "_internalEventId": "85640bb5-83d4-425f-98d3-807c255741cc",
     "eventName": "AddProductImpression"
       },
    
    headers= {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0"}
    )

print(t)

如果有人可以看看并建议我缺少什么,我将不胜感激。

如何模拟这个请求?

我的建议是打开浏览器开发工具网络,看看浏览器请求中是否没有authorization header 那么它可能使用 cookies。 模拟请求的简单方法是右键单击请求并复制为 cURL 然后使用cURLConverter您可以将您的请求转换为 Python 的requests并与您的代码进行比较

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM