PHP cURL登录失败

时间:2015-05-10 23:09:49

标签: php curl

有一个网站http://www.tremorgames.com,我想要进行cURL登录。我有一个代码,我在我的服务器http://shalva97.x10.mx/tremorlogin/上使用但它不起作用,但经过大量测试后我决定在我的PC上安装Apache并测试完全相同的代码并且它有效。

以下是代码:

<?php

$url="http://www.tremorgames.com/index.php"; 

$postdata = "loginuser=shalva&loginpassword=shalva&Submit=&saveme=1"; 

$ch = curl_init();
$f = fopen('request.txt', 'w');
curl_setopt_array($ch, array(
    CURLOPT_URL            => $url, 
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_FOLLOWLOCATION => 1,
    CURLOPT_VERBOSE        => 1,
    CURLOPT_STDERR         => $f,
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0',
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $postdata,
    CURLOPT_HEADER => 1,
    CURLOPT_HTTPHEADER     => array("Accept-Language: en-US;q=0.6,en;q=0.4", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Connection: keep-alive"),
    CURLOPT_COOKIEFILE => "cookies.txt", //Save cookies
    CURLOPT_COOKIEJAR => "cookies.txt", //Cookies located
    CURLOPT_REFERER => 'http://www.tremorgames.com/index.php',
    CURLOPT_ENCODING => 'gzip,deflate'
));
echo curl_exec($ch);
fclose($f);
curl_close($ch);
?>

在我的PC和服务器上执行相同的代码,我得到不同的标题,在PC上它接收多个“Set-Cookie”标题,但在服务器上它只有一个。

为什么它在服务器上不起作用?为什么它在我的电脑上运行?

1 个答案:

答案 0 :(得分:0)

经过多次思考后我发现它不仅发送了标题而且发送了ip和我的位置。该网站不允许来自其他国家/地区的登录,这就是为什么它没有进入,代码是正确的,而且全部都与服务器位置有关。我希望这会帮助那些也尝试做同样事情的人。