Не могу скачать файл по прямой ссылке

Печать RSS
229

V
Автор
Пришелец
0
copy в исходнике пишет html код какой то, курл в исходный файл пишет 400-ую ошибку.
Пишу ссылку в браузер, всё работает.
http запрос такой примерно
http://bla-bla.ru/a/1/2/3/asdads.3gp

GET /a/1/2/3/asdads.3gp HTTP/1.1
Host: bla-bla.ru
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive

ответ

HTTP/1.1 200 OK
Server: nginx
Date: Thu, 01 Nov 2012 16:41:15 GMT
Content-Type: video/3gpp
Content-Length: 110489548
Last-Modified: Thu, 01 Nov 2012 04:15:08 GMT
Connection: keep-alive
Keep-Alive: timeout=20
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Cache-Control: no-cache
Accept-Ranges: bytes

Что делать? )
Изменил: varloc (01.11.2012 / 20:55)
V
Автор
Пришелец
0
Помогите пож. что я не так делаю?..
П

Пацак
0
То есть, возвращаются только заголовки? А сам код можешь написать?
V
Автор
Пришелец
0
Нет, это я написал заголовки которые посылает и принимает браузер, когда ссылку вбиваешь в него. Код копирования через copy обычный, а через curl код такой
function curl_get_remote( $url, $local_filename )

{

    if( ! ($fh = @fopen($local_filename, 'wb')) )

        return false;

    $ch = curl_init( $url );

    curl_setopt( $ch, CURLOPT_NOPROGRESS, 0 );

    curl_setopt( $ch, CURLOPT_FILE, $fh );

    curl_exec( $ch );

    fclose( $fh );

    return true;

}
С кодом всё в порядке, я и в других скриптах его использую..
П

Пацак
0
Так, а что мешает поставить те же заголовки, что и у браузера, в частности UA? Через CURLOPT_HTTPHEADER или, если copy, то через stream_context_create. Возможно, проблема в этом.
V
Автор
Пришелец
0
5. Im-ieee, пробывал... Заметил вот что, если написать адрес в функцию "руками", а не через $, то файл скачивается, переменную проверяю, в ней урл ) так что не так..?
V
Автор
Пришелец
0
Вот, что вписывается в файл
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx</center>
</body>
</html>
П

Пацак
0
Возможно, строка $url содержит какие-либо посторонние символы. file_put_contents('file.txt', $url); и смотри, что в этой переменной.
V
Автор
Пришелец
0
8. Im-ieee, О! спс большое, в конце $ оказался перенос строки, что не удивительно... Я урл взял из ответа на заголовок, а про "\r\n" забыл..( большое спс!!!
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск