2017-12-06 15 views
0

私はPHPには新しく、いくつかのことをプログラムしようとしています。(PHP)Curl(Mytischtennis)で空白ページを取得する

最初の手順では、次のページを表示したいとします。私のウェブサイトには「https://www.mytischtennis.de/public/home」と表示されます。私はページをつかむためにカールを使用しています。しかし、私がページを出力するたびに、私は空白のページを取得しています。他のページと

<?php 

function grab_page($site){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17'); 
    curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_VERBOSE, 1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 40); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); 
    curl_setopt($ch, CURLOPT_URL, $site); 

    ob_start(); 
    return curl_exec($ch); 
    ob_end_clean(); 
    curl_close($ch); 
} 

echo grab_page("https://www.mytischtennis.de/public/home"); 
echo "hallo"; 
?>  

このコードの作品:

私のコードは次のようになります。ただ "https://www.mytischtennis.de/public/home"のために私のために働かない? 誰かがこのサイトで空白のページしか取得できない理由を助けてくれますか?

ありがとうございました:)

+0

私は自分のサーバーでこれを実行し、次の詳細情報を得ました:https://pastebin.com/tmpL3HTEリクエストの 'Content-Length'が0であるように見えます。残念ながら、私はこの問題についてこれ以上助けをすることはできません。 – JustCarty

+1

FYI:あなたの関数から 'ob_end_clean()'の前にも早く戻ります。 – dferenc

答えて

1

あなたのカールの要求に2つの以上のオプションを設定する必要があります:あなたが欲しいページを取得します。この後

// Add some more headers here if you need to 
$headers = [ 
    "Accept-Encoding: gzip, deflate, br" 
]; 

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
// Decode the response automatically when needed 
curl_setopt($ch, CURLOPT_ENCODING, ''); 

を。

+0

ありがとう:)それは今私のために動作します。 – Ludaris

関連する問題