में Vimeo से सीधे लिंक वीडियो प्राप्त करें मैं एक PHP स्क्रिप्ट के साथ Vimeo से वीडियो के लिए एक सीधा लिंक चाहते हैं। मैं उन्हें मैन्युअल रूप से ढूंढने में कामयाब रहा, लेकिन मेरी PHP स्क्रिप्ट काम नहीं करती है। यहाँ पहल है: उदाहरण के लिए मैं इस वीडियो में ले लिया: http://vimeo.com/22439234PHP
जब आप पृष्ठ पर जाने, Vimeo वर्तमान टाइमस्टैम्प और इस वीडियो से संबद्ध एक हस्ताक्षर उत्पन्न करता है। यह जानकारी JavaScript वैरिएबल में संचित होता है, लाइन 520 के आसपास बस के बाद: जब आप खेलने के लिए क्लिक करें window.addEvent ('domready', function() {
फिर, एचटीएमएल 5 खिलाड़ी इस चर पढ़ता है और एक HTTP अनुरोध भेजता है:
http:// player.vimeo.com/play_redirect?clip_id=37111719&sig={SIGNATURE}&time={TIMESTAMP}&quality=sd&codecs=H264,VP8,VP6&type=moogaloop_local&embed_location=
लेकिन यह भी काम करता है साथ:
http:// player.vimeo.com/play_redirect?clip_id=37111719&sig={SIGNATURE}&time={TIMESTAMP}&quality=sd
तो इस URL आईपी पते कि http://vimeo.com/22439234 खोला साथ नहीं खोलता है, यह एक त्रुटि संदेश के साथ HTTP कोड 200 देता है। http://av.vimeo.com/XXX/XX/XXXX.mp4?aksessionid=XXXX&token=XXXXX_XXXXXXXXX
जब मैं इस लिंक http://player.vimeo.com/play_redirect?...
मैन्युअल रूप से बनाने ("राइट क्लिक करें"> "स्रोत कोड:
इस URL सही आईपी पते के साथ खोला जाता है, शीर्ष लेख" स्थान "वीडियो फ़ाइल से लिंक पर रीडायरेक्ट ">" रेखा 520 ") यह काम करता है।
लेकिन PHP और regex के साथ यह एक त्रुटि संदेश के साथ HTTP code 200
देता है।
क्यों?
मेरी टिप्पणियों से, Vimeo के लिए http:// player.vimeo.com/play_redirect?...
GET
, HEAD
HTTP अनुरोध का शीर्षक देख नहीं है, कुकीज़ के साथ, कुकीज़, संदर्भ आदि के बिना ... नहीं बदलता है।
PHP के साथ, मैं फ़ंक्शन file_get_contents()
और get_headers()
का उपयोग करता हूं।
<?php
function getVimeo($id) {
$content = file_get_contents('http://vimeo.com/'.$id);
if (preg_match('#document\.getElementById\(\'player_(.+)\n#i', $content, $scriptBlock) == 0)
return 1;
preg_match('#"timestamp":([0-9]+)#i', $scriptBlock[1], $matches);
$timestamp = $matches[1];
preg_match('#"signature":"([a-z0-9]+)"#i', $scriptBlock[1], $matches);
$signature = $matches[1];
$url = 'http://player.vimeo.com/play_redirect?clip_id='.$id.'&sig='.$signature.'&time='.$timestamp.'&quality=sd';
print_r(get_headers($url, 1));
}
यहाँ काम नहीं करता, मैं हमेशा मिला है 1 जब मैं कोड का परीक्षण परिणाम – Magico
के रूप में मैं एक ही परिणाम है। –