1

几天前,我在核心 php 中创建了一个 cronjob 脚本,用于使用soap API从其他服务器获取内容并将结果插入到我自己的数据库中。

以前它工作正常并获取大约 10000 条记录并将它们插入数据库。

但是现在脚本无法正常工作。所以我在浏览器(Mozila)中执行了脚本,它给了我这个错误。

内容编码错误:
您尝试查看的页面无法显示,因为它使用了无效或不受支持的压缩形式。请联系网站所有者以告知他们此问题。

我更改了页面编码和一些与 ini 相关的设置,但仍然显示相同的错误。

我也更改了我的代码并使用下面的代码,但问题仍然存在。

class API 
{
protected $developerKey;        
protected $websiteId;

// Intialise all the values
public function __construct(){

    $this->developerKey = 'XXXXXXX';
    $this->websiteId    = "yyyyyy";
}

public function apiCall($storeId,$start)
{
    try
    {
        $url    = "https://linksearch.api.cj.com/v2/link-search?";  
        $url    .="website-id=".$this->websiteId;
        $url    .="&advertiser-ids=".$storeId;
        $url    .="&link-type=".urlencode('Text Link');
        $url    .="&page-number=".$start;
        $url    .="&records-per-page=100";

        $ch     = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: '.$this->developerKey));
        $curl_results = curl_exec($ch);

        $xml    = simplexml_load_string($curl_results);
        $json   = json_encode($xml);
        $arrres = json_decode($json,TRUE);

        return $arrres;
    }
    catch (Exception $e)
    {
        return $e->getMessage();
    }
}
}

我正在apiCall为大约 600 家商店循环使用方法。请提出任何解决方案。

4

1 回答 1

0

基本上,内容编码错误意味着响应以某种方式损坏,因此无法呈现。它可能只是一个浏览器的问题,但既然你用 curl 得到这个:

HTTP/1.0 500 内部服务器错误

这意味着这不是浏览器问题,服务器端出了问题。您需要服务器日志,尤其是错误日志,来进一步诊断。服务器端发生了一些事情,但提供的信息甚至没有暗示那会是什么。

于 2012-10-04T17:47:14.723 回答