#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": "登录"}

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

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

 

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

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

后多次实验对比,发现部署在我本地的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。

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

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

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄