我读过许多类似的标题问题,但没有一个对我有用......
问题是,当我向网站发送 cURL 查询时,我得到的只是一个空白页面。
这是我的代码:
<?php
$action = "http://www.website.com/index.php?section=login&do=process";
$fields = array(
'username' => $user,
'rememberMe' => '1'
);
$login = curl_post($action, $fields);
var_dump($login);
function curl_post($url, array $post = NULL, array $options = array())
{
$defaults = array(
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_HTTPHEADER => array('Accept-Language: pl,en-us;q=0.7,en;q=0.3', 'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7'),
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
CURLOPT_URL => $url,
CURLOPT_FRESH_CONNECT => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FORBID_REUSE => 1,
CURLOPT_TIMEOUT => 4,
CURLOPT_NOBODY => false,
CURLOPT_POSTFIELDS => http_build_query($post)
);
$ch = curl_init();
curl_setopt_array($ch, ($options + $defaults));
if( !$result = curl_exec($ch))
{
return(curl_error($ch));
}
curl_close($ch);
return $result;
}
?>
当然,我在 PHP 中启用了我的 cURL,所以不是这样。如果您有任何想法,请分享!
更新
我也一直在尝试在我的 PHP 文件顶部添加以下行:
ini_set("display_errors", 1);
error_reporting(E_ALL);
但问题仍然出现 - 结果是空白页。当我使用时,file_get_contents("http://website.com/");
我可以看到页面内容,因此它不适用于 cURL。