【发布时间】:2011-02-24 06:10:38
【问题描述】:
我正在尝试使用 LWP::Simple 向 REST 服务发出 GET 请求。这是简单的代码:
use LWP::Simple;
$uri = "http://api.stackoverflow.com/0.8/questions/tagged/php";
$jsonresponse= get $uri;
print $jsonresponse;
在我的本地机器上,运行 Ubuntu 10.4 和 Perl 版本 5.10.1:
farhan@farhan-lnx:~$ perl --version
这是为 x86_64-linux-gnu-thread-multi 构建的 perl,v5.10.1 (*)
我可以得到正确的响应并将其打印在屏幕上。例如:
farhan@farhan-lnx:~$ head -10 output.txt
{
“总数”:1000,
“页面”:1,
“页面大小”:30,
“问题”:[
{
“标签”:[
"php",
“数组”,
“编码风格”
(……剪掉了……)
但是在我通过 SSH 连接到的主机上,我会在屏幕上打印出 garbage 以获取相同的确切代码。我假设它与编码有关,但 REST 服务不会在响应中返回字符集类型,那么如何强制 LWP::Simple 使用正确的编码?有什么想法吗?
这是我主机上的 Perl 版本:
[dredd]$ perl --version
这是为 x86_64-linux-gnu-thread-multi 构建的 perl,v5.8.8
【问题讨论】: