需要帮助搞清楚如何在python中发送POST登录信息

需要帮助搞清楚如何在python中发送POST登录信息,第1张

概述所以我目前正在开发一个下载程序,并且这样做我需要从输入的网页中获取.m3u8链接.我已经制作了该程序并且工作正常,但是对于高级独家视频,它无法访问该链接,因为除非您已登录,否则链接不会显示在日志中.我想实现登录的能力你有一个帐户,我一直在使用请求发布登录信息以及每次登录所需的身份验证密钥(_token),但无济于事.我登录,然后在r变量中我尝试访问高级独家视频,但链接仍然不存在.这是我的代码中的登 所以我目前正在开发一个下载程序,并且这样做我需要从输入的网页中获取.m3u8链接.我已经制作了该程序并且工作正常,但是对于高级独家视频,它无法访问该链接,因为除非您已登录,否则链接不会显示在日志中.我想实现登录的能力你有一个帐户,我一直在使用请求发布登录信息以及每次登录所需的身份验证密钥(_token),但无济于事.我登录,然后在r变量中我尝试访问高级独家视频,但链接仍然不存在.这是我的代码中的登录部分,我显然已经用用户名和密码替换了我的帐户详细信息,但是如果有人可以帮助我,我会非常感激,我仍然是相对较新的 python,谢谢!

…此外,我登录了fiddler打开的网站,所以我可以看到发布的内容是为了尝试更好地理解这个过程,我将该字符串存储在’actual_POST’下仅供参考.

s = requests.Session()url = "https://roosterteeth.com/login"payload = {'username': 'password','password': 'password','_token': 'GCZLoBNyjFrN2SReFjEydkN6qx6NT5hU8jVfyZol'}actual_POST = '_token=GCZLoBNyjFrN2SReFjEydkN6qx6NT5hU8jVfyZol&username=username&password=password&redirectTo=http%3A%2F%2Froosterteeth.com%2F'with s as j:  b = s.post(url,data=payload,headers={'User-Agent': 'Mozilla/5.0'})  r = s.get('http://roosterteeth.com/episode/rt-sponsor-cut-season-2-sponsor-play-alIEn-isolation-dlc')  print(r.text)
解决方法 您不能使用从浏览器中提取的_token,您需要发出请求并从响应中解析_token然后在帖子中使用它:

import  requestsfrom bs4 import BeautifulSoupurl = "https://roosterteeth.com/login"payload = {'username': 'dyour_user','password': 'your_pass',"redirectTo":"http://roosterteeth.com/"}headers= {'User-Agent': 'Mozilla/5.0 (X11; linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/50.0.2661.75 Safari/537.36'}with requests.Session() as s:    r = s.get(url)    payload["_token"] =  BeautifulSoup(r.text).select_one("input[name=_token]")["value"]    b = s.post(url,headers=headers,allow_redirects=1)    print(BeautifulSoup(b.text,"lxml").select("p.username"))

如果我们使用登录详细信息运行上面的代码,您可以看到我们成功:

In [21]: url = "https://roosterteeth.com/login"In [22]: payload = {'username': 'xxxxx','password': 'xxxxx',....:    ....:            "redirectTo": "http://roosterteeth.com/"}In [23]: headers = {   ....:     'User-Agent': 'Mozilla/5.0 (X11; linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/50.0.2661.75 Safari/537.36'}In [24]: with requests.Session() as s:   ....:         r = s.get(url)   ....:         payload["_token"] = BeautifulSoup(r.text,"lxml").select_one("input[name=_token]")["value"]   ....:         b = s.post(url,allow_redirects=1)   ....:         print(BeautifulSoup(b.text,"lxml").select("p.username"))   ....:     [<p ><a href="JavaScript:voID">                        xxxxx                                                <i ></i></a></p>]
总结

以上是内存溢出为你收集整理的需要帮助搞清楚如何在python中发送POST登录信息全部内容,希望文章能够帮你解决需要帮助搞清楚如何在python中发送POST登录信息所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存