首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当来自Python的POSTing请求模块时忽略重定向?

当来自Python的POSTing请求模块时忽略重定向?
EN

Stack Overflow用户
提问于 2018-12-03 22:54:05
回答 1查看 526关注 0票数 1

我使用这个脚本访问我的Django服务器并检索一个CSRF令牌,然后它只是尝试将数据发送到一个视图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python2.7
import sys, time
import requests

username = 'root'
password = 'pass'

fileName, userFolder, uploadFolder = sys.argv

URL = 'http://127.0.0.1:8000/admin/login/'
client = requests.session()

# Retrieve the CSRF token first
client.get(URL)  # sets cookie
if 'csrftoken' in client.cookies:
    csrftoken = client.cookies['csrftoken']

login_data = dict(username=username, password=password, csrfmiddlewaretoken=csrftoken, next='')
r = client.post(URL, data=login_data, headers=dict(Referer=URL))

但是在我的Django开发服务器的访问日志中,我看到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[03/Dec/2018 17:44:17] "GET /admin/login/ HTTP/1.1" 200 1637
[03/Dec/2018 17:44:17] "POST /admin/login/ HTTP/1.1" 302 0
Not Found: /accounts/profile/
[03/Dec/2018 17:44:17] "GET /accounts/profile/ HTTP/1.1" 404 9904

我不明白的是为什么我一直得到额外的Get和404?

是否可以将我的Python请求配置为忽略任何类型的重定向信号,无论是GET、POST还是session.get()

我曾尝试将allow_redirects=False添加到client.get(URL, allow_redirects=False)中,但没有任何帮助。

我的帖子工作得很好,我只是试图消除额外的GET请求,这是不必要的混乱/开销。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-04 00:10:05

默认情况下,Django在成功登录后重定向到/accounts/profile/

要阻止请求跟随重定向,您应该在session.post()调用中使用allow_redirects=False

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53603174

复制
相关文章
python 的http请求模块 url
urllib3是一个强大的,理智的友好的HTTP客户端程序。大部分的Python的生态系统已经使用,你也应该urllib3。urllib3带来从Python标准库缺少许多关键特征:
py3study
2020/01/06
1.5K0
[JSP] 实现请求重定向
redirect1.jsp 用来向redirect2.jsp提交表单, redirect1.jsp的代码为:
用户3519280
2023/07/06
2330
Servlet请求重定向
请求重定向 请求重定向有两种方案,但是强烈推荐第二种方案,代码简洁。 请求重定向的特点: 请求重定向会发出两次请求。 请求重定向不会共享Request域中数据。因为每次请求它都会单独进行封装。 请求重定向不能访问WEB-INF下的资源,请求转发可以。 请求重定向可以访问工程外的资源,例如百度。而请求转发不能访问(即不能出站) 方案一: //设置响应码 302 表示重定向 resp.setStatus(302); //设置响应头,并设置重定向的地址 resp.setHeader("Location
阿年、嗯啊
2021/04/27
1.8K1
Servlet请求重定向
python的datetime模块处理时
python的datetime模块主要用来处理时间,里面包含很多类,包括timedelay,date,time,datetime等
py3study
2020/01/19
6740
glob - 被忽略的python超强文件批量处理模块
今天我将介绍Python自带的一个文件操作模块-glob模块。涉及的内容主要如下:
朱卫军 AI Python
2022/04/03
2.4K0
Request and Response 请求 & 响应 & 请求转发 & 重定向
特殊说明: 解决问题的光鲜,藏着磕Bug的痛苦。 万物皆入轮回,谁也躲不掉! 以上文章,均是我实际操作,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,请勿直接盗用!
收心
2022/01/17
6530
Ubuntu安装Python模块时的报错
在安装Python的psutil模块时,报“error: command 'x86_64-linux-gnu-gcc' failed with exit status 1”的错误,系统提示缺少Python的头文件,那就是说系统没有安装python的开发包,安装之就行了。
py3study
2020/01/10
2K0
Python 网络请求模块 urllib 、requests
Python 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 urllib、requests这两个模块。
大江小浪
2018/07/24
2.3K0
重定向 与 请求转发
场景:有2个servlet,分别是 A和B,用户发送请求到 A,A做完了,想让B去做,但是不想调用B的方法,就把 重定向的信息 写进 浏览器的请求头 的 location中,浏览器接受到数据包的时候,就会去发送第二次请求 就会请求B
收心
2022/01/17
4970
3招解决python程序输出重定向时的延迟问题
这条命令的意思就是说: 运行test.py脚本,且将运行过程中本来要输出到屏幕/控制台的内容(如脚本里面的print语句、报错信息等)输出到test.log日志文件中去。
自学气象人
2022/11/14
2.2K0
3招解决python程序输出重定向时的延迟问题
重定向与转发的区别_响应重定向和请求转发的区别
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/04
6610
重定向与转发的区别_响应重定向和请求转发的区别
响应重定向与请求转发的比较
1    1. requestDispatcher对象是一个Web资源的包装器,可以用来把当前请求转发到该资源。
Dlimeng
2023/06/27
1270
Python发送Http请求时,中文乱码
quote():假如URL的 name 或者 value 值中有『&』、『%』或者『=』等符号,就会有问题。所以URL中的参数字符串也需要把『&=』等符号进行编码,quote()就是对参数字符串中的『&=%』等符号进行编码。
py3study
2020/01/08
1.5K0
重定向是get还是post_请求转发与重定向的异同
我们知道,在servlet中调用转发、重定向的语句如下: request.getRequestDispatcher(“new.jsp”).forward(request, response);//转发到new.jsp response.sendRedirect(“new.jsp”);//重定向到new.jsp 在jsp页面中你也会看到通过下面的方式实现转发: <jsp:forward page=”apage.jsp” />
全栈程序员站长
2022/10/04
8400
请求转发和重定向区别
转发和重定向的过程: request.getRequestDispatcher(URL地址).forward(request, response) 转发:浏览器发送http请求给服务器,服务器接受请求,在内部调用方法在完成请求处理和转发动作将目标资源发送给浏览器。 (整个过程是一次请求,该请求也可以被转发n次,这n次都使用同一对request和response) response.sendRedirect(URL地址) 重定向:浏览器发送http请求给服务器,服务器接受后发送302状态码和要重定向的loca
名字是乱打的
2022/05/13
7300
【原创内容】当Python需要与数据库交互时,这个模块就变得超级好用
今天小编和大家来聊一下SQLALchemy这个模块,该模块是Python当中最有名的ORM框架,该框架是建立在数据库API之上,使用关系对象映射进行数据库的操作,简而言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。
用户6888863
2022/04/13
3820
【原创内容】当Python需要与数据库交互时,这个模块就变得超级好用
请求转发和请求重定向有什么区别?
在 Java 中,跳转的实现方式有两种:请求转发和请求重定向,但二者是完全不同的,所以我们今天就来盘它。 请求转发和请求重定向主要区别,包含以下 5 点:
PHP开发工程师
2022/07/18
1.5K0
springboot restTemplate https请求 忽略ssl证书
与http请求不同的是,https使用restTemplate的时候需要手动创建对象,并传入参数。而http直接用Autowired注入restTemplate对象就可以直接使用。
艾瑞莉娅
2021/05/18
8.3K0
Python中操作HTTP请求的urllib模块详解
urllib 是 Python 标准库中用于网络请求的库。该库有四个模块,分别是urllib.request,urllib.error,urllib.parse,urllib.robotparser。
步履不停凡
2019/09/11
2.6K0
点击加载更多

相似问题

当POSTing在NodeMCU上使用请求时

21

忽略来自内部重定向的请求

12

当POSTing GeoJSON数据使用php时错误的请求

147

当POSTing获取事务令牌时,获取400错误请求

11

使用requests模块POSTing数据时出现400错误请求错误

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文