【问题标题】:Using Cookies To Access HTML使用 Cookie 访问 HTML
【发布时间】:2017-01-27 14:06:43
【问题描述】:

我正在尝试通过.get(url) 请求访问一个网站(我已登录)。但是,我尝试传递应该验证我的请求的 cookie,但我不断收到 401 错误。我尝试像这样在.get 参数中传递cookie

requests.post('http://eventregistry.org/json/article?action=getArticles&articlesConceptLang=eng&articlesCount=25&articlesIncludeArticleConcepts=true&articlesIncludeArticleImage=true&articlesIncludeArticleSocialScore=true&articlesPage=1&articlesSortBy=date&ignoreKeywords=&keywords=soybean&resultType=articles', data = {"connect.sid': "long cookie found on chrome settings")

(滚动查看 cookie 的使用方式。为超长 URL 致歉)

我是否以错误的方式处理 cookie 情况?我应该使用我的用户名或密码登录而不是传递 cookie 吗?还是我误解了 Chrome 的 cookie?

谢谢!

【问题讨论】:

  • 您存储在 cookie 中的会话 ID 可能会在您每次登录时更改
  • 有没有办法通过登录将cookie传递给get请求?
  • 不,当您登录时,您使用的是发布请求。
  • 即使可以,也行不通。每次登录网页时 cookie 都会发生变化

标签: python post cookies


【解决方案1】:

已解决:

import requests

payload = {
    'email': '###@gmail.com',  #find the right name for the forms from HTML of site
    'pass': '###'}

# Use 'with' to ensure the session context is closed after use.
with requests.Session() as s:
    p = s.post('loginURL')
    r = s.get('restrictedURL') 
    print(r) #etc

【讨论】:

    【解决方案2】:

    我只是想让您知道,我们已更新包以访问事件注册表数据,因此您现在可以在不使用 cookie 的情况下实际发出请求。相反,您可以在 url 中附加参数 apiKey=XXXX。您可以在文档页面上找到详细信息:

    http://eventregistry.org/documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 2011-03-16
      • 2023-03-17
      • 1970-01-01
      • 2023-03-11
      • 2013-03-07
      相关资源
      最近更新 更多