<p>尝试使用<code>requests</code>(使用<code>pip install requests</code>安装)而不是<code>urllib</code>。</p>
<p>另外,将数据作为<code>JSON</code>封装在请求正文中,不要将它们作为URL参数传递。您也在<code>JSON</code>示例中传递<code>curl</code>数据。</p>
<pre><code>import requests
data = {
"externalId": "801411",
"name": "RD Core",
"description": "Tenant create",
"subscriptionType": "MINIMAL",
"features": {
"capture": False,
"correspondence": True,
"vault": False
}
}
response = requests.post(
url="http://localhost:9100/tenants/",
json=data
)
print response.status_code, response.reason
</code></pre>
<p><strong>编辑</strong></p>
<p>来自<a href="https://2.python-requests.org/en/master/user/quickstart/#more-complicated-post-requests" rel="nofollow noreferrer">https://2.python-requests.org/en/master/user/quickstart/#more-complicated-post-requests</a>:</p>
<blockquote>
<p>Note, the <code>json</code> parameter is ignored if either <code>data</code> or <code>files</code> is passed.</p>
<p>Using the <code>json</code> parameter in the request will change the <code>Content-Type</code>
in the header to <code>application/json</code>.</p>
</blockquote>