python requests访问报403 "Invalid username/password."

使用python requests访问一个rest api时,总是报错:

403
{"detail":"Invalid username/password."}

换成curl访问就没有问题。

为什么会这样呢?

把requests的请求header print出啦,看到加了authorization,但是代码并没有使用任何认证。

{'Content-Length': '650', 'Accept-Encoding': 'gzip, deflate', 'Accept': '/', 'user-agent': 'a', 'Connection': 'keep-alive',  'content-type': 'application/json', 'Authorization': 'Basic dGVzdDoxMjM='}

猜测和机器环境有关系。用户认证信息应该是存在某个文件中的吧?

用strace看一下打开了哪些文件

strace python test.py

open("/usr/lib64/python2.7/shlex.py", O_RDONLY) = 4
open("/usr/lib64/python2.7/shlex.pyc", O_RDONLY) = 5
open("/root/.netrc", O_RDONLY)          = 3
open("/usr/lib64/python2.7/encodings/idna.py", O_RDONLY) = 3
open("/usr/lib64/python2.7/encodings/idna.pyc", O_RDONLY) = 4
open("/usr/lib64/python2.7/stringprep.py", O_RDONLY) = 4

访问了一个可疑文件 ~/.netrc

$ cat ~/.netrc
default login test password 123

把这个文件拿掉,接口访问就没有报错了。

查一下requests的文档,requests果然会读取.netrc文件
http://docs.python-requests.org/en/master/user/authentication/?highlight=netrc

时间: 2024-11-03 20:34:44

python requests访问报403 "Invalid username/password."的相关文章

ORA-01017: invalid username/password; logon denied

SQL> select * from dual@mult2; select * from dual@mult2                    * ERROR at line 1: ORA-01017: invalid username/password; logon denied ORA-02063: preceding line from MULT2 出现上面的错误 说明: 1 你的listener.ora tnsnames.ora 配置好了netca --->test 也OK 2

JDBC连接失败,报 invalid username/password

问题描述 通过如下SQL创建一个用户 /*创建用户并指定表空间 */create user FND_DATA identified by FND default tablespace FND_DATA; /*给用户授予权限 */grant connect,resource to FND_DATA;PL/SQL可以正常登录,但是使用JDBC进行连接就会报错:invalid username/passwordClass.forName("oracle.jdbc.driver.OracleDriver

WebSphere发布war包 访问JSP报403错误,访问HTM正常

问题描述 Struts2+Hibernate3+Spring的框架,在TOMCAT下面正常,打成war包发布上WebSphere后,访问jsp文件报403错误,而访问html文件却正常显示,不知道为什么.web.xml文件如下<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"xmlns="http://java.sun.com/xml/ns/javaee&

在Linux中通过Python脚本访问mdb数据库的方法

  这篇文章主要介绍了在Linux中通过Python脚本访问mdb数据库的方法,本文示例基于debian系的Linux系统,需要的朋友可以参考下 在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式 ? 1 DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:dirfile.mdb 安装 这里我们需要借助一些库来实现第三方的驱动 我们需要安装这些包:mdbtools,

创建sftp连接时报错-sftp连接时,报错invalid server&amp;amp;#39;s version string

问题描述 sftp连接时,报错invalid server's version string 连接方法,我看了一下和网上一样.但这种错误在网上没有搜索到.有遇到这个错误的,给点提示,谢谢.public ChannelSftp connect(String host int port String usernameString password) {ChannelSftp sftp = null;try {JSch jsch = new JSch();jsch.getSession(usernam

ajaxFileUpload 动态创建iframe 但是访问报没有权限是什么原因

问题描述 ajaxFileUpload 动态创建iframe 但是访问报没有权限是什么原因 var xml = {}; if (s.global) jQuery.event.trigger(""ajaxSend"" [xml s]); //触发ajaxSend方法 // Wait for a response to come back var uploadCallback = function (isTimeout) {//回调函数 **** var io = do

豆瓣-python爬虫,遇到403 forbidden,求助。

问题描述 python爬虫,遇到403 forbidden,求助. # -*- coding: utf-8 -*- import re import sys import requests reload(sys) sys.setdefaultencoding("utf-8") if __name__ == '__main__': url = 'https://movie.douban.com/subject/1433330/photos?type=W' # 获取网页源码 html =

win与linux系统中python requests 安装_python

在 windows 系统下,只需要输入命令 pip install requests ,即可安装. 在 linux 系统下,只需要输入命令 sudo  pip install requests ,即可安装. 或者 ================= Window 1.  下载requests  被墙  打开这个网址, http://www.lfd.uci.edu/~gohlke/pythonlibs 在这个网站上面有很多 python 的第三方库文件, ctrl+f 找到 requests 下载

访问报错了

问题描述 Stringupdate_Web="<?xmlversion="1.0"encoding="gbk"?>"+"<Request>"+"<UpdateWz>"+"<Tj>"+"<Ztid>1683</Ztid>"+"<Wzid>1683</Wzid>&qu