gpt4 book ai didi

python - 如何使用 python 请求获取 uuid

转载 作者:可可西里 更新时间:2023-11-01 17:06:31 27 4
gpt4 key购买 nike

我正在尝试使用 python 请求模块登录网页,但我要登录的网站上的 Post 数据包含一个 uuid 标签。

pass: ********
user: ********
uuid: ********

我已经在大多数请求文档中的任何地方彻底搜索过任何提及此内容的地方。这仅仅是超出了程序的能力,还是我忽略了一些东西。

这是我正在使用的代码。

import requests

url = 'www.website.com'

with requests.Session() as c:
c.get(url)
values = {'pass': 'passsword', 'user': 'username'}
response = c.post(url, data=values)
print response

最佳答案

可以从源码解析:

In [29]: from bs4 import BeautifulSoup

In [30]: import re

In [31]: patt = re.compile("document.cplogin.uuid.value=\"(.*?)\"")

In [32]: with requests.Session() as s:
....: page = s.get('http://myneu.neu.edu/cp/home/displaylogin').content
....: soup = BeautifulSoup(page, "html.parser")
....: script = soup.find("script", language="javascript1.1")
....: uuid = patt.search(script.text).group(1)
....:

In [33]: uuid
Out[33]: u'ff3e7ddd-0823-4f44-a003-0e68a9321e08'

如果您查看登录页面的源代码,在具有属性 language="javascript1.1" 的脚本中,您可以看到 uuid:

function login()
{
setQueryAsCookie();
document.cplogin.user.value=document.userid.user.value;
document.cplogin.uuid.value="21fbc26a-3a3d-4802-ba4a-39a40aad881c";
document.cplogin.submit();
}

因此,在发布时只需将其与其余表单数据一起传递即可。

帖子网址似乎也是 https://myneu.neu.edu/cp/home/login ,所以:

from bs4 import BeautifulSoup
import re

patt = re.compile("document.cplogin.uuid.value=\"(.*?)\"")
data = {"user":"uname", "pass":"passw"}
post = "https://myneu.neu.edu/cp/home/login"

with requests.Session() as s:
page = s.get('http://myneu.neu.edu/cp/home/displaylogin')
soup = BeautifulSoup(page.content, "html.parser")
script = soup.find("script", language="javascript1.1")
uuid = patt.search(script.text).group(1)
data["uuid"] = uuid
resp = s.post(post, data=data)

关于python - 如何使用 python 请求获取 uuid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39232293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com