我正在尝试抓取登录表单中包含 CSRF __RequestAccessToken 的站点。我能够从表单中获取令牌值,将其放在标题中并使用 cookie 发布,但我得到了 500 状态代码。result.text 包含一条消息:“抱歉,处理您的请求时发生错误。” 和“我们的网站使用仅在现代浏览器中发现的功能。为了获得最佳体验,我们建议将您的浏览器升级到其中之一”
正如我所说,我能够从表单中获取令牌值并将其放在标题中。还检索了 cookie 并在帖子中发送了它们。当我使用 Chrome 浏览器手动提供凭据时,我的登录有效。不知道下一步该尝试什么。任何人都可以请提出什么问题吗?提前致谢。
这是我手动登录时 Chrome 浏览器中显示的标题:
GET /Security/Register HTTP/1.1
'Host': 'www.idocmarket.com',
'Connection': 'keep-alive'
'Cache-Control': 'max-age=0',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-User': '?1',
'Accept':
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,
*/*;q=0.8,application/signed-exchange;v=b3',
'Sec-Fetch-Site': 'same-origin',
'Referer': ' https://www.idocmarket.com/',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9',
'Cookie': ' __utmz=141398122.1569340638.1.1.utmcsr=(direct)|utmccn= (direct)|utmcmd=(none); ASP.NET_SessionId=aow5a3q4o0kfdhwu554ma2qt;
__utmc=141398122;
__RequestVerificationToken=XsNRpnUzlge1NCeddExuVaN_uYheGBROrEHHNLgY5oTxc5HZqVZrXKmnn2IgUquL_tM-uWaebglLrfEpdGIutLYAFdK5EzQGOFeyiz3PszQ1; __utma=141398122.1343771318.1569340638.1570400178.1570490801.9; party_search_type=Contains; __utmb=141398122.19.10.1570490801'
这是我的代码:
import requests
from datetime import datetime
from bs4 import BeautifulSoup
LOGIN_URL = 'https://www.idocmarket.com/Security/Register'
EMAIL = 'myemail@gmail.com'
PASSWORD = 'somepwd'
LOGIN_API_URL = 'https://www.idocmarket.com/Security/Register'
我希望登录后跳转到下一页
慕哥6287543
眼眸繁星
随时随地看视频慕课网APP
相关分类