首页 > 解决方案 > HTTP2 请求和 Hyper

问题描述

我今天花了太多时间试图让 Python 请求 + 超工作。

我已经设法登录到drupal 站点(需要自动化一些事情),但似乎由于HTTP2 仅在服务器上使用,并且超不处于成熟级别 - 它根本不起作用。

第一个请求(登录)工作正常,但会话变量保持为空,并且每个后续请求都失败。

我正在从 Yaml 读取我的有效负载,如前所述,登录和第一个请求工作正常。

payloadadmin:
  form_id : "user_login"
  name : "Igor"
  pass : "blah"
  remember_me : "1"
  op: "Log in"

def site_login():
   s = requests.session()
   s.mount('https://my.site.com', HTTP20Adapter())
   headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36    (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
   r = s.post(URL, headers=headers, data=payload, allow_redirects=False, verify=True)
   return s

main:
s = site_login(conf['payloadadmin'],'https://my.site.com/user')
r = s.get('https://my.site.com/admin/export/csv')

标签: pythonhttp2hyper

解决方案


推荐阅读