cURLで単純にデータを取得するものです
file_get_contentsでは正常に取得できますが
cURLで走らせるとなぜかhttps://www.youtube.com/supported_browsers?next_url= にリダイレクトされてしまい、そのデータを取ってしまいます
原因がわかる方教えていただけないでしょうか
<?php // 新しい cURL リソースを作成します $ch = curl_init(); // URL その他のオプションを適切に設定します $options = array(CURLOPT_URL => 'https://www.youtube.com/watch?v=j8ou8FXGfA4', CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_REFERER => 'https://www.youtube.com/watch?v=j8ou8FXGfA4', CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100', CURLOPT_SSL_VERIFYPEER => false, CURLOPT_TIMEOUT => 3 ); curl_setopt_array($ch, $options); // URL の内容を取得し、ブラウザに渡します echo curl_exec($ch); // cURL リソースを閉じ、システムリソースを開放します curl_close($ch); ?>
"cURLで単純にデータを取得するものです" 興味本位の質問ですが、こちらのデータとは何を指しますか?動画情報であれば、YouTube Data API を利用しませんか?
HTTPリクエストに対する応答です
APIは別物と考えています
そもそもfile_get_contentsでは取得できるがcURLではなぜできないという疑問から生まれた投稿であります
なので、APIを使えばいい、とかfile_get_contentsでいいでしょという回答は違います
現時点で回答できる方がいないのがteratailの全てなのか、と半ば諦めていますが、
通信関係に強い方って少ないのでしょうか
簡単にレスが付く内容だと自分で思ってましたが、大間違いだったようですね・・・