Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
CURL и удаленный забор изображений
Новая тема
Ответить
цитата
05/07/07 в 02:02
Sterx
воткнул sleep(2)
перед каждым вызовом курлфункции
вроде пошел импорт, посмотрим, зацепил на крон, к утру ясно будет
webboxxx:
Цитата:
(CURLOPT_BINARYTRANSFER, 1)
пробовал часом раньше
цитата
05/07/07 в 09:45
Sterx
Cibtor писал:
Использую сокеты, с анализом ответов - ни разу проблем не было.
а можно рабочий пример?
цитата
05/07/07 в 10:38
xreload
Я вот не пойму почему тут на 2-ую страницу уже вылезло гадание на коффейной гуще ?
Код:
curl_setopt("CURLOPT_NOBODY", 1);
curl_setopt("CURLOPT_HEADER",1);
curl_setopt("CURLOPT_VERBOSE", 1);
потом чашечку чаю или кофе ,весь вывод в файл и курим логи, там все ответы на твои вопросы.
p.s.
А вообще CURL жестоко кастрирован для PHP и там много чего просто нет, поэтому я им в PHP стараюсь не пользоваться вообще.
По крайней мере один баг я лично выцепил, суть в том что скрипт будет подвисать(зацикливаться) если размер загружаемых документов очень большой(от 10 мб и более) , не знаю, возможно уже исправили, но мне этот глюк столько крови попил, что ну его нахуй этот CURL в PHP.
p.s.2
Sterx, если задача стоит просто проверить картинки на доступность(код 200) , качать их необязательно ,покури немного curl_getinfo() , а точнее обрати внимание на CURLINFO_HTTP_CODE.
цитата
05/07/07 в 12:24
proc3nt
Пример по работе с сокетами
Код:
$fp = fsockopen('somehost.com', 80);
if(!$fp)return false;
fputs($fp, "GET хttp://www.somehost.com/parse/xml.php HTTP/1.0\r\nHost: somehost.com\r\n\r\n");
while(!feof($fp))
{
$info .= fread($fp, 2048);
}
fclose($fp);
$info = explode("\r\n", $info);
$all = $info[count($info)-1];
Соотвественно можно получать как сам html, так и заголовки сервера
цитата
07/07/07 в 03:20
Teacher-X
Тож когда-то вот писал, может поможет:
Код:
/*
$f1 - URL пикчера
$f2 - Путь к локальному файлу (т.е. куда сохранить загруженный пикчер)
*/
function foto_uploader($f1, $f2) {
$ch = curl_init();
$f = fopen($f2, 'w+b');
curl_setopt($ch, CURLOPT_URL, $f1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt($ch, CURLOPT_FILE, $f); //сразу пихаем в файл
curl_setopt($ch, CURLOPT_RANGE, "0-1048576"); //ограничение макс. размера
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); //никаких редиректов
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$result = curl_exec($ch);
$err = curl_error($ch);
fclose($f);
chmod($local_fota, 0777);
if(($err == 0) || ($err == '')) {
curl_close($ch);
return true;
}
curl_close($ch);
return false;
}
Стр.
« первая
<
1
,
2
Новая тема
Ответить
Эта страница в полной версии