2012-05-11 2 views
0

私はこのサイトのコンテンツを取得しようとしている:http://www.gratka.pl/を、私はこれだけ受け取る:PHPカール:サイトのコンテンツを取得できません - クッキーに問題がありますか?

*ポート80
をgratka.plする)(接続について* 195.8.99.42を試みる... *をGET/HTTP/1.1
ユーザーエージェント:Mozilla/5.0(Windows; U; Windows NT 5.1; pl; rv:1.9.1.2)Gecko(Windows NT 5.1; pl; rv:1.9.1.2)Gecko/20090729 Firefox/3.5.2
ホスト:gratka.pl
承認:*/*

<見つかり

< HTTP/1.1 302はのCache-Control:キャッシュなし
<のContent-Length:0
<場所:
そのまま左gratka.plをホストする...
*コネクション#0 *号このURLへの別の要求は: 'http://blad.gratka.pl/403.html' 接続について
*()ポート80
* 195.8.99.1をしようと... *(195.8 blad.gratka.plに接続*
接続をblad.gratka.plします。 99.1)ポート80
GET /403.html HTTP/1 .1
ユーザエージェント:Mozilla/5.0(Windows; U; Windows NT 5.1; pl; RV:1.9.1.2)のGecko/20090729 Firefoxの/ 3.5.2
ホスト:blad.gratka.pl
受け入れ:*/*
...
< HTTP/
<のCache-Control発見1.1 302:ノーキャッシュ
<のContent-Length:0
<場所:http://blad.gratka.pl/403.html
*
そのまま残さblad.gratka.plをホストへの接続#1 *最大(20)が続く
*クロージングコネクション#0をリダイレクト *私は常にコンテンツをつかむために使用しているスクリプトが動作していないことは何コネクション#1

を閉じる:

$ch = curl_init(); 
    $timeout = 15; 
    $cookie_file_path = 'c.txt'; 
    $fp = fopen($cookie_file_path, "w"); 
    fclose($fp); 
    $url = 'http://gratka.pl'; 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    curl_setopt($ch, CURLOPT_VERBOSE, true); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2'); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path); 
    $info = curl_exec($ch); 
    curl_close($ch); 

をスクリプトクッキーファイル(c.txt)を実行した後は空です。どうしましたか?たぶんサイトに有効なCookieが必要なのでしょうか、それとも正しいHTTPヘッダーの問題でしょうか?どんな助けでも大歓迎です!

編集:localhostで上記のスクリプトを実行すると機能しますが、専用サーバーで実行すると機能しません。どんな推測?

答えて

0

に次の行を追加し、私は別のサーバー上の私のコードを試してみました、それが働きました。私の最初のサーバーは禁止されていたと思います。 :)

gratkaはhttp://blad.gratka.pl/403.htmlを指していると思います。

0

コードは正しいです。ただ、私は同じ問題を抱えていたcurl section

$curl = curl_init(); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15")); 

    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_ENCODING, "gzip"); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($curl); 
curl_close($curl); 
return $data; 
+0

お返事ありがとうございますが、今でも同じ問題があります:*これは次のようになります:* gratka.plポート80に接続するには *試してみる195.8.99.42 ... *接続 * gratkaに接続してください。/* Accept-Encoding:gzip User-Agent:Mozilla/5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15)Gecko/20080623 Firefox/2.0.0.15 – fallek

関連する問題