0

我读过许多类似的标题问题,但没有一个对我有用......

问题是,当我向网站发送 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。

4

1 回答 1

0

在本地运行并将其指向 Google,我立即看到两件事:

  1. PHP注意:未定义变量:用户
  2. 谷歌返回一个“错误 405(不允许的方法)!!1”错误页面,但可能是因为我试图发布到它

当您定义 $user 并重试时会发生什么?

于 2012-09-23T01:41:36.003 回答