Python - 难以登录网站

时间:2017-06-10 19:14:04

标签: python python-2.7 selenium python-requests

我是python和编程的新手,非常感谢这里的任何帮助。 我正在尝试使用以下代码登录this网站,我不能超越第一页。

以下是我一直在尝试的代码......

import requests
from bs4 import BeautifulSoup
response = requests.get('https://www.dell.com/sts/passive/commercial/v1/us/en/19/Premier/Login/Anonymous?wa=wsignin1.0&wtrealm=http%253a%252f%252fwww.dell.com&wreply=https%253a%252f%252fwww.dell.com%252fidentity%252fv2%252fRedirect')

soup = BeautifulSoup(response.text)
formtoken = soup.find('input', {'name': '__RequestVerificationToken'}).get('value')

payload = {'UserName' = username, 'Password'=password, '__RequestVerificationToken': formtoken}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'}
with requests.Session() as s:
    p = s.post('https://www.dell.com/sts/passive/commercial/v1/us/en/19/Premier/Login/Anonymous?wa=wsignin1.0&wtrealm=http%253a%252f%252fwww.dell.com&wreply=https%253a%252f%252fwww.dell.com%252fidentity%252fv2%252fRedirect', data=payload, headers=headers)
    r = s.get('http://www.dell.com/account/', headers=headers)
    print r.text

我无法超越登录页面。登录除了什么参数。我还尝试检查Chrome开发工具中的表单数据,但是已加密。 Form Data - Dev Tool screenshot

非常感谢任何帮助。

修改 我编辑了代码以在有效负载中传递令牌,如下所示。但我还没有运气。

1 个答案:

答案 0 :(得分:0)

您没有按照正确的方法发出POST请求。

您可以遵循的步骤:

  1. 首先使用您的网址发出GET请求。
  2. 从响应中提取访问令牌。
  3. 将该访问令牌用于您的帖子请求。