Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python用'+';_Python_Http_Sharepoint_Python Requests - Fatal编程技术网

Python用'+';

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

我正在使用Python的请求模块将一些数据发布到我公司的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