首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 301帖子

Python 301帖子
EN

Stack Overflow用户
提问于 2016-03-09 08:33:00
回答 1查看 186关注 0票数 0

所以基本上我是在尝试向这个网站- https://panel.talonro.com/login/提出一个请求,这个网站应该是301 redirect

我像应该发送数据一样发送数据,但最后请求中没有Location头,状态代码是200而不是301

我不知道我做错了什么。请帮帮忙

代码语言:javascript
复制
def do_request():
    req = requests.get('https://panel.talonro.com/login/').text
    soup = BeautifulSoup(req, 'html.parser')
    csrf = soup.find('input', {'name':'csrfKey'}).get('value')
    ref = soup.find('input', {'name':'ref'}).get('value')
    post_data = {
        'auth':'mylogin',
        'password':'mypassword',
        'login__standard_submitted':'1',
        'csrfKey':csrf,
        'ref':ref,
        'submit':'Go'
}

    post = requests.post(url = 'https://forum.talonro.com/login/', data = post_data, headers = {'referer':'https://panel.talonro.com/login/'})
EN

回答 1

Stack Overflow用户

发布于 2016-03-09 08:48:08

现在push_datado_request()中,所以您不能在该函数之外访问它。

相反,在返回信息然后传递它时,可以尝试这样做:

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup

def do_request():
    req = requests.get('https://panel.talonro.com/login/').text
    soup = BeautifulSoup(req, 'html.parser')
    csrf = soup.find('input', {'name':'csrfKey'}).get('value')
    ref = soup.find('input', {'name':'ref'}).get('value')
    post_data = {
        'auth':'mylogin',
        'password':'mypassword',
        'login__standard_submitted':'1',
        'csrfKey':csrf,
        'ref':ref,
        'submit':'Go'
        }
    return post_data

post = requests.post(url = 'https://forum.talonro.com/login/', data = do_request(), headers = {'referer':'https://panel.talonro.com/login/'})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35880779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档