无法直接访问网站的内部URL

2024-04-16 13:00:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我看到有一些网址获取元数据(json)浏览器呈现网站,即当我点击example.com网站,在Firefox's developers view->;Network tab;一些类似https://example.com/server/getdata?cmd=showResults的URL中。你知道吗

所以,我的问题是我可以在同一个firefox窗口的new选项卡中访问该URL(需要json数据)。但我无法在其他firefox窗口中访问相同的URL(重新调整空json)。它正在维护某种会话(可能有cookies?)。我从developers视图复制了完全相同的httpheaders值,并用request创建了python脚本进行测试。但是python脚本正在重新调整空json

示例屏幕截图

Request URL

Python代码

parameter = {
    "Accept": "application/json, text/javascript, */*; q=0.01",
    "Accept-Encoding": "gzip, deflate, br",
    "Accept-Language": "en-US,en;q=0.5",
    "Cache-Control": "no-store, max-age=0",
    "Connection": "keep-alive",
    "Content-Length": "13175",
    "Content-Type": "application/x-www-form-urlencoded",
    "DNT": "1",
    "Host": "in.example.com",
    "Cookie": '__cfduid=xxxxxxxxxxxxxxxxx; __cfruid=xxxxxxx-1520022406; mqttuid=1.361660689',
    "Referer": "https://in.example.com/page1/page2",
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0",
    "X-Requested-With": "XMLHttpRequest"
}
response = requests.post(url="https://in.example.com/serv/getData?cmd=XXXX&type=XX&XXXX=1&_=1520022652009", data=parameter)
#print(dir(response))
print(response.headers)
print(response.json())

如何模拟会话并直接点击URL而不点击根网站?你知道吗

PS:这个网站是静态网站

更新1

已更改header=parameters

response = requests.get(url="https://in.example.com/server1/getallData?cmd=xxxx&_=1520097652234", headers=parameter)

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='in.example.com', port=443): Max retries exceeded with url: /server1/getallData?cmd=xxxxx&_=1520097652934 (Caused by <class 'ConnectionResetError'>: [Errno 104] Connection reset by peer)

正在获取Connection Reset异常。看起来CF在做什么?有什么想法吗?你知道吗


Tags: inhttpscmdcomjsonurlparameter网站