gpt4 book ai didi

Python CookieJar 保存 cookie,但不将其发送到网站

转载 作者:太空狗 更新时间:2023-10-30 02:34:27 24 4
gpt4 key购买 nike

我正在尝试使用 urllib2 和 cookiejar 登录网站。它保存了 session ID,但是当我尝试打开另一个需要身份验证的链接时,它说我没有登录。我做错了什么?

这是代码,对我来说失败了:

import urllib
import urllib2
import cookielib

cookieJar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))

# Gives response saying that I logged in succesfully
response = opener.open("http://site.com/login", "username=testuser&password=" + md5encode("testpassword"))

# Gives response saying that I am not logged in
response1 = opener.open("http://site.com/check")

最佳答案

您的实现似乎没问题...并且应该有效。

它应该发送正确的 cookies,但我认为这是网站实际上没有让您登录的情况。

你怎么能说它没有发送 cookies 或者你得到的 cookies 可能不是验证你身份的那个。

使用:response.info() 查看响应的 header ,以查看您实际收到的 cookie。

该站点可能没有让您登录,因为:

  • 它正在检查您未设置的 User-agent,因为某些网站从 4 种主要浏览器打开只是为了禁止 bot 访问。

  • 该网站可能正在寻找您可能不会发送的一些特殊的隐藏表单字段。

1条建议:

from urllib import urlencode
# Use urlencode to encode your data

data = urlencode(dict(username='testuser', password=md5encode("testpassword")))
response = opener.open("http://site.com/login", data)

此外,这里有一件奇怪的事情:

  • 您在发送密码之前对您的密码进行 md5 编码。 (奇怪)
  • 这通常在与数据库比较之前由服务器完成。
  • 这只有在 site.com 在 javascript 中实现 md5 时才有可能。
  • 这是非常罕见的情况,因为可能只有 0.01% 的网站这样做..
  • 检查 - 这可能是问题所在,您向服务器提供的是散列形式而不是实际密码。
  • 因此,服务器会再次为您的 md5 哈希计算 md5。

检查.. !!:)

关于Python CookieJar 保存 cookie,但不将其发送到网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251208/

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