标签: content-encoding

为什么Perl的LWP给我的编码与原始网站不同?

让我说我有这个代码:

use strict;
use LWP qw ( get );

my $content = get ( "http://www.msn.co.il" );

print STDERR $content;
Run Code Online (Sandbox Code Playgroud)

错误日志显示类似"\ xd7\x9c\xd7\x94\xd7\x93\xd7\xa4\xd7\xa1\xd7\x94",我猜它是utf-16?

该网站的编码是与

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1255">
Run Code Online (Sandbox Code Playgroud)

那么为什么这些角色出现而不是windows-1255字符呢?

而另一个奇怪的事情是我有两台服务器:

第一台服务器返回CP1255字符,我可以简单地将其转换为utf8,当前服务器给我这些字符,我不能用它做任何事情......

apache/perl/module中是否有任何配置文件搞乱了编码?强迫某事......?

我的网站在第二台服务器上的结果是perl文件和标题都是utf8,所以当我写的文字不是英文字符时,上面例子中的内容显示正常(即使它是奇怪的字符) )但我自己的静态文本看起来像"×ס××××××:"

我测试的另一件事是......

通过perl:

my $content = `curl "http://www.anglo-saxon.co.il"`;    
Run Code Online (Sandbox Code Playgroud)

我得到utf8编码.

通过Bash:

curl "http://www.anglo-saxon.co.il"
Run Code Online (Sandbox Code Playgroud)

在这里我得到CP1255(Windows-1255)编码...

此外,当我在bash中运行脚本时 - 它提供了CP1255,并且当它通过网络运行时 - 然后它再次是utf8 ...

通过改变utf8中的内容来修复问题 - 应该是什么,然后回到utf8:

use Text::Iconv;

my $converter = Text::Iconv->new("utf8", "CP1255");
   $content=$converter->convert($content);

my $converter = Text::Iconv->new("CP1255", "utf8");
   $content=$converter->convert($content);
Run Code Online (Sandbox Code Playgroud)

perl content-encoding lwp windows-1255

3
推荐指数
2
解决办法
5194
查看次数


在提供JavaScript文件时,默认情况下gzip是否安全

这个问题符合标题.我对规范推荐的内容不感兴趣,但目前部署的浏览器组合支持最佳.

  • Google Docs gzips他们的JS.
  • Google AJAX Libraries API CDN gzips JS.
  • 雅虎为他们的YUI文件gzips JS.
  • 雅虎主页gzips他们的JS.

所以我认为我的问题的答案是肯定的,为所有浏览器gzip JS都没关系.但如果你不同意,你会告诉我的.

javascript gzip http content-encoding

2
推荐指数
2
解决办法
745
查看次数

Node.js代理,处理gzip压缩

我目前正在研究一个代理服务器,我们在这种情况下必须修改我们推送它的数据(通过使用regexp).

在大多数情况下它工作正常,除了使用gzip作为内容编码的网站(我认为),我遇到了一个名为compress的模块,并尝试通过解压缩/ gunzip流来推送我收到的块但是它不是真的像我预期的那样结果.

我想知道我是否正朝着正确的方向前进,如果有更多的模块可以让我的生活更轻松(关于gzip压缩).

格尔茨,

本杰明

compression proxy gzip content-encoding node.js

1
推荐指数
1
解决办法
5908
查看次数