HTTP 响应编码问题

时间:2021-07-01 10:48:19

标签: rest http encoding postman response

我正在尝试使用 https URL 上的 GET 请求从网站 (https://www.stocknet.fr/accueil.asp) 获取 CSV 文件。我通过 Postman 得到的回复是这样的:

Type;Groupe Acc�s;Code;EOTP autoris�s;Familles EOTP autoris�es;Nom;Pr�nom;Adresse Mail;Agences autoris�es;D�p�ts autoris�s;Date cr�ation;Fournisseurs autoris�s;Classes autoris�es;Familles article

但是当直接访问 URL 时,我的浏览器会自动下载该文件,然后我使用正确的编码在 Windows 上打开它:

Type;Groupe Accès;Code;EOTP autorisés;Familles EOTP autorisées;Nom;Prénom;Adresse Mail;Agences autorisées;Dépôts autorisés;Date création;Fournisseurs autorisés;Classes autorisées;Familles article

当我检查网站 HTML 时,我可以看到标签 <meta charset="ISO-8859-1" />

我尝试使用这样的标题:

Accept-Charset: ISO-8859-1
Accept-Charset: UTF-8
Content-Type: text/csv; charset=ISO-8859-1
Content-Type: text/csv; charset=UTF-8
Content-Encoding: gzip
Content-Encoding: compress
Content-Encoding: deflate
Content-Encoding: identity
Content-Encoding: br

似乎没有任何东西以正确的编码返回响应。

知道我做错了什么吗?请注意,无论我尝试获取网站的哪个页面,我都会得到错误的编码。它不仅适用于 CSV 文件。

1 个答案:

答案 0 :(得分:1)

服务器返回 iso-8859-1 中的内容并告诉您它是 iso-8859-1。您不会说服服务器返回任何其他内容。您的 Web 浏览器包含用于转换编码的代码。如果您希望内容采用不同的编码,则必须自己进行转换。

有关如何执行此操作的方法,请参阅: Best way to convert text files between character sets?