擅长:python、mysql、java
<p>尝试按如下方式发布未编码的值:</p>
<pre><code>login_url = 'https://server.com/server.jsp?login'
payload = {'username': 'usernamex', 'PASSWORD': 'contraseña15'}
r = requests.post(login_url, data=payload)
</code></pre>
<p><code>requests</code>将为您处理url编码。服务器应该看到</p>
^{pr2}$
<p>在柱子上。在</p>
<p><strong>更新</strong></p>
<p>使用<code>curl</code>时,所发布的数据似乎是url编码的ISO-8859-1文本或类似文本。使用<code>requests</code>,发布的数据是urlencoded UTF8数据。服务器似乎希望请求主体使用ISO-8859-1编码。试试这个:</p>
<pre><code>login_url = 'https://server.com/server.jsp?login'
password = u'contraseña15'.encode('iso-8859-1')
payload = {'username': 'usernamex', 'PASSWORD': password}
r = requests.post(login_url, data=payload)
</code></pre>
<p>通过此请求,服务器现在应该看到:</p>
<pre>
username=usernamex&PASSWORD=contrase%F1a15
</pre>
<p>与<code>curl</code>生成的相同。在</p>