0

同様のタイトルの質問をたくさん読みましたが、どれもうまくいきませんでした...

問題は、cURL クエリを Web サイトに送信すると、空白のページしか表示されないことです。

これが私のコードです:

<?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 に向けると、すぐに 2 つのことがわかります。

  1. PHP 通知: 未定義の変数: user
  2. Google は 'Error 405 (Method Not Allowed)!!1' エラー ページを返しますが、おそらく投稿しようとしているからでしょう。

$user を定義して再試行するとどうなりますか?

于 2012-09-23T01:41:36.003 に答える