首页 > 解决方案 > python中的POST请求在将文本文件的内容发布到bitbucket PR时导致错误

问题描述

我在 vs 代码中尝试了这种方法,它工作正常

headers = {'content-type': 'application/json'}
with open('myfile.txt', mode="rb") as f:
    file_content = f.read()
    res = requests.post(link, auth=('user','pwd'), headers=headers, data=json.dumps({'text': file_content}))

但是,当我在 Jenkins 作业中的执行 shell 中添加它时,它会给出错误,因为 JSON obj 不可序列化。

我知道 JSON 需要字典,但是我想上传文本文件内容。我尝试过的解决方案:-尝试将标题更改为纯文本:不工作

你知道问题是什么,因为它只会在 Jenkins 工作中运行时造成麻烦。

我尝试阅读官方手册页,没有找到任何东西。

任何帮助表示赞赏。谢谢

[更新]:使用以下更改将模式 'rb' 更改为 'r' 解决了它并且它正在工作。没有序列化问题。奇怪的是,上述代码在 Python2 中完美运行,而在 Python3 中却导致错误。

标签: pythonpython-3.xjenkinspython-requests

解决方案


推荐阅读