python3 - 无法通过授权

python3 - can't pass through autorization

我需要构建网络爬虫供内部使用,我需要登录到管理区域。我正在尝试使用请求库,尝试过这种方式:

import urllib.parse
import requests

base_url = "https://target.url"

data = ({'login': 'login', 'pass': 'password'})

params = urllib.parse.urlencode(data)

r = requests.post(base_url, data=params)

print(r.text)

import requests

base_url = "https://target.url"

r = requests.post(base_url, auth=('login', 'password')

print(r.text)

但在这两种情况下 r.text returns 我的登录页面内容与我在授权代码后尝试获取任何其他页面一样:

req = requests.get("https://target.url/smth")

我看不到什么?我有想法:

  1. https://target.url 到真实登录页面的隐藏重定向链,所以我将身份验证信息发送到错误的 url
  2. 我不发送额外的必需信息(例如 cookie)

你能评论一下吗?如何收集登录所需的信息?

在我的案例中,问题出在 headers 中的 'Referer' 参数中,这是必需的但未指定