来自服务器的PHP/CURL空回复

来自服务器的PHP/CURL空回复,php,curl,post,Php,Curl,Post,我有一个NodeJS应用程序在我的服务器上运行,我有一个CURL将post请求提交到我服务器上应用程序的端口。如果我访问PHP页面,我通常可以这样做,但尝试将其作为命令行执行则是另一回事。它不断返回,HTTP响应代码为0,错误为“来自服务器的空回复” PHP Curl(OOP)[$this->domain=,$url=/path/to/something]: protected function post($url, $data) { $ch = curl_init();

我有一个NodeJS应用程序在我的服务器上运行,我有一个CURL将post请求提交到我服务器上应用程序的端口。如果我访问PHP页面,我通常可以这样做,但尝试将其作为命令行执行则是另一回事。它不断返回,HTTP响应代码为0,错误为“来自服务器的空回复”

PHP Curl(OOP)[$this->domain=,$url=/path/to/something]:

protected function post($url, $data)
{   
    $ch = curl_init();

    curl_setopt($ch,CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',
            'User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0'
    ));
    curl_setopt($ch,CURLOPT_URL,$this->domain.$url);
    curl_setopt($ch,CURLOPT_POST,count($data));
    curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);

    $result = curl_exec($ch);
    //error_log(curl_error($ch));
    return $result;
}

命令行执行:

curl https://rbx.shopping/Secure/IPNCron.php

访问域时的默认页面:端口


应返回的内容示例:

尝试添加cookie jar:

$ckfile = tempnam (sys_get_temp_dir(), rand().'cookiename');
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
还应添加以下内容:

curl_setopt($handle, CURLOPT_ENCODING, 'identity');