本文介绍了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响应编码问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!