gpt4 book ai didi

python - 使用来自浏览器的现有身份验证 session 在 python 上执行 https 请求

转载 作者:太空狗 更新时间:2023-10-30 01:22:08 29 4
gpt4 key购买 nike

是否可以采用现有的登录 session (例如在 Chrome 中)并将该 session 通过管道传输到 python 脚本以执行 https 请求?

为了清楚我想做什么,有一个网站,其内容只有在您登录后才能访问,但是为简单的 http 身份验证 curl 凭据是不可行的,因为它实际上有验证码。所以我想做的是,登录浏览器,将该 session 提取到 python 脚本,并通过该 session 请求 url。我说得有道理吗?

import requests

url="http://stackoverflow.com/"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36"}
cookie = {
"domain": ".stackoverflow.com",
"expirationDate": "1427212131.77312",
"hostOnly": "false",
"httpOnly": "true",
"name": "usr",
"path": "/",
"secure": "false",
"session": "false",
"storeId": "0",
"value": "SOMEVALUE",
"id": "5"
}

t = open("response.txt", "w")


t.write(requests.get(url, headers=headers, cookies=cookie).text.encode("ascii", "ignore"))

所以我尝试了这个,但它似乎并没有让我到任何地方。如果我查看响应,我发现它实际上是没有任何用户登录的页面。不确定我还缺少什么......

最佳答案

如果您重复使用浏览器的 cookie 和用户代理,这应该是可能的。据我所知,任何此类解决方案都是特定于浏览器的:我遇到过 a script它使用 SQLite 提取 Chrome cookie,并使用它们通过 Requests 库发出 HTTP 请求。

脚本的 chrome_cookies 方法返回一个包含 cookie 的字典。如果您使用 Requests 库,您可以在发出请求时将字典作为关键字参数传递:

import requests
import pyCookieCheat

url = 'http://www.example.com'

s = requests.Session()
cookies = pyCookieCheat.chrome_cookies(url)
s.get(url, cookies = cookies)

关于python - 使用来自浏览器的现有身份验证 session 在 python 上执行 https 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26018944/

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