gpt4 book ai didi

jenkins - 相当于curl --data-urlencode 调用的python requests 包是什么?

转载 作者:行者123 更新时间:2023-12-02 12:54:19 26 4
gpt4 key购买 nike

我正在使用以下命令行调用在 jenkins CLI 服务器上执行 groovy 脚本:

curl --user 'Knitschi:myPassword' -H "Jenkins-Crumb:1234" --data-urlencode "script=println 'Hello nice jenkins-curl-groovy world!'" localhost:8080/scriptText

我目前正在将 bash 脚本转换为 python,我想使用 python requests 包 ( http://docs.python-requests.org/en/master/ ) 执行与上述调用相同的操作。

到目前为止我已经

import requests

url = 'http://localhost:8080/scriptText'
myAuth = ('Knitschi', 'myPassword')
crumbHeader = { 'Jenkins-Crumb' : '1234'}
scriptData = "script=println 'Hello cruel jenkins-python-groovy world!'"

response = requests.post(url, auth=myAuth, headers=crumbHeader, data=scriptData)
print(response.text)
response.raise_for_status()

虽然命令行打印了预期的字符串,但 python 代码却没有。它也不会引发异常。

此外,我不确定是否应该使用 requests.get() 还是 requests.post()。我的网络技术知识非常有限。

感谢您的宝贵时间。

最佳答案

使用

import requests

url = 'http://localhost:8080/scriptText'
myAuth = ('Knitschi', 'myPassword')
crumbHeader = { 'Jenkins-Crumb' : '1234'}
groovyScript = "println 'Hello cruel jenkins-python-groovy world!'"
scriptData = { "script" : groovyScript}

response = requests.post(url, auth=myAuth, headers=crumbHeader, data=scriptData)
print(response.text)
response.raise_for_status()

至少适用于本示例中的常规脚本以及我在现实中使用的脚本。然而,这里似乎缺少 urlencode 功能,所以我不确定这是否适用于所有给定的 groovy 脚本。

关于jenkins - 相当于curl --data-urlencode 调用的python requests 包是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776311/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com