使用Fiddler使用python脚本复制浏览器操作

时间:2018-12-24 18:14:23

标签: python python-requests

我正在尝试使用python和position relative模块登录网站。

我的问题是,即使提供了用户名/密码,并且登录后仍试图访问页面,我仍然可以看到登录页面-换句话说,即使没有登录页面,我也无法访问虽然看起来很成功。

我了解到每个网站的处理过程可能不同,因此解决该问题所需添加的内容并不明显。

建议我下载一个Fiddler之类的网络流量监听器,然后尝试使用我的python脚本复制操作。

我已经下载了Fiddler,但是我对找到和复制所需动作的方式有点不了解。

任何帮助都会感激不尽。


我的原始代码:

requests

1 个答案:

答案 0 :(得分:1)

如果查看浏览器开发人员工具,可能会发现登录POST请求需要提交到其他URL:

https://www.auction4cars.com/Home/UserLogin

请注意,payload也必须是:

payload = {
    'login_Email_or_Username': 'xxxxx@gmail.com',
    'login_Password': 'xxxxx'
}

在此之前,我仍然会访问登录页面并设置标题:

HOME_URL = 'https://www.auction4cars.com/'
LOGIN_URL = "https://www.auction4cars.com/Home/UserLogin"

with requests.Session() as s:
    s.headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
    }
    s.get(HOME_URL)

    p = s.post(LOGIN_URL, data=payload)
    print(p.text)  # or use p.json() as, I think, the response format is JSON