Python requests 调Jenkins登录接口,返回404,但请求地址、请求头、消息主题和抓包的内容都一样

python学习网 2020-02-26 18:10:03

#coding=utf-8
import requests

url = "http://localhost:8080/jenkins/j_acegi_security_check"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"}
data = {"j_username": "admin",
"j_password": "111111",
"from": "/jenkins/"
"Submit": "登录"}

s = requests.session()
r = s.post(url, headers=headers, data=data)

print(r.content.decode('utf-8'))

 

代码如上,返回结果404!,如下图:

后多次实验对比,发现部署在我本地的Jenkins中传参字段from的值为"/jenkins/",而我们公司的Jenkins中字段from的值为“/”,后参照网上修改from的值为空,代码如下:

 

#coding=utf-8
import requests

url = "http://localhost:8080/jenkins/j_acegi_security_check"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36"}
data = {"j_username": "admin",
"j_password": "111111",
"from": "",                #from字段的值输了内容后报404,这个坑
"Submit": "登录"}

s = requests.session()
r = s.post(url, headers=headers, data=data)

print(r.content.decode('utf-8'))

 

不知道为什么传了一个字段的值,页面就返回404。

这个坑我要记录下,也许能帮到遇到同样问题的伙伴。

另外如果有人知道原因也请在评论区回复下,多谢!

阅读(2497) 评论(0)