本文介绍了HTTP响应编码问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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文件中。

推荐答案

服务器返回ISO-8859-1格式的内容并告诉您它是ISO-8859-1。您不会说服服务器返回任何其他内容。您的Web浏览器包含用于转换编码的代码。如果要使用不同编码的内容,您必须自己转换它。

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

这篇关于HTTP响应编码问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 03:41