1

我正在使用 python3 和mechanicalsoup

我需要向期望Content-Type包含charset=iso-8859-1. 通过从常规浏览器提交表单并查看开发窗格中的 POST 请求标头,我注意到了预期的字符集。

这是我正在使用的代码:

import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
form = browser.select_form('#formular')
form.set("subject", "test")
form.set("body", "Nous en avons plus l'utilité")
resp = browser.submit_selected()

在当前状态下,当我使用mechanicalsoup 提交表单时,我会在网页(<head>包含<meta charset="utf-8">)中查看结果,字符串显示如下:Nous en avons plus l'utilité. 我想原因如上所述:mechanicalsoup 可能发送带有 UTF8 字符集而不是 iso-8859 的表单。

4

1 回答 1

1

这工作正常吗?

form.set("body", "Nous en avons plus l'utilité".encode("ISO-8859-1"))
于 2018-02-09T18:17:15.397 回答