Python用'+';
我正在使用Python的请求模块将一些数据发布到我公司的SharePoint网站:Python用'+';,python,http,sharepoint,python-requests,Python,Http,Sharepoint,Python Requests,我正在使用Python的请求模块将一些数据发布到我公司的SharePoint网站: response = requests.post("https//my-sharepoint-site.com", data={"myPost": "this is a test"}, auth=HttpNtlmAuth("\\MY_USER_NAME", MY_PASS)) 在我公司的sharepoint
response = requests.post("https//my-sharepoint-site.com",
data={"myPost": "this is a test"},
auth=HttpNtlmAuth("\\MY_USER_NAME", MY_PASS))
在我公司的sharepoint网站上生成的帖子如下所示:
myPost=this+is+a+test
如何1)删除“myPost=”和2)停止用“+”填充空白
注意:我无权访问该公司的服务器端应用程序逻辑
另一个注意事项:curl不使用“+”对空格进行编码。结果:
curl –f –v --ntlm –u MY_USER_NAME --data “this is a test” https://my-sharepoint-site.com
是:
您将dict作为
数据
参数传递,这意味着dict被解释为要编码为application/x-url-encoded
的键值对。URL编码(例如用于GET请求)替换+
字符而不是%20
,因为这是大多数浏览器的行为
如果你想按字面意思传递帖子正文,你需要自己把它编码成字节
在您的情况下,只需传递
data=“这是一个测试”。encode(“utf-8”)
就可以提供您想要的行为。我的应用程序在执行data=“这是一个测试”时抛出415个错误。encode(“utf-8”)@Brinley:我不知道SharePoint或您的应用程序,但您可能需要发送另一个标题。我会尝试内容类型:text/plain;字符集=utf-8
。
this is a test