2017-09-16 23 views
0

cURLを使用してリダイレクトを取得しようとすると、新しい場所は表示されませんが、ブラウザに同じURLを置くと、別の場所にリダイレクトされますルールをリダイレクトします。結果で同じURLを取得する必要があります。ここでPHP cURLが別のURLにリダイレクトする

は、ここで例のURL

http://www.dailymotion.com/cdn/H264-1280x720/video/x1r819x.mp4?auth=1505704620-2562-a9qmrjvz-6e0f4066eb3a57ce79c011f5c3f932f3 

は、リダイレクトURLはここ

https://proxy-23.sg1.dailymotion.com/video/907/091/106190709_mp4_h264_aac_hd.mp4?auth=1505539349-6658-b3dukan0-a41773a8fa2338e758ce74cff24b0390#cell=sg1&hls_heuristic=1&hls_startFragPrefetch=1 

である私のPHPコードが

ある
$url = "http://www.dailymotion.com/cdn/H264-1280x720/video/x1r819x.mp4?auth=1505704620-2562-a9qmrjvz-6e0f4066eb3a57ce79c011f5c3f932f3"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_NOBODY, true); // HTTP request is 'HEAD' 
$headers=curl_exec($ch); 
preg_match_all('/^Location:(.*)$/mi', $headers, $matches); 
curl_close($ch); 
$print_newurl = !empty($matches[1]) ? trim($matches[1][0]) : 'http://www.google.com.fr'; 
echo $print_newurl; 

答えて

1

CURLOPT_FOLLOWLOCATIONでリダイレクトに従うようにしてください。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

編集:問題が解決しない場合は

$last_url = curl_getinfo($ch, CURLINFO_REDIRECT_URL); 

、その後、CURLINFO_EFFECTIVE_URLてみてください。もっと見るhttp://php.net/manual/en/function.curl-getinfo.php

+0

だけで試みたが、まだあなたがブラウザ上に置くと、私にはボタン – Rtra

+0

リンクを働いていません私のIPアドレスは – Rtra

+0

を入力打ったときだけ、それだけで ' –

関連する問題