cURL проблема - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB74.3823
BTC/USD57797.1695
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 24.05.2017, 09:13   #1
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 625
Бабло: $253350
Question cURL проблема

не могу понять в чем прикол,
если просто запустить скрипт в консоли через wget http://domain
то всё работает, а если через php /var/blabla... то cURL выдает ошибку

URL using bad/illegal format or missing URL

урл получаю из txt файла

PHP код:
$file file("urls.txt");
$page get(trim($file[0])); 
далее запускаю функцию с курлом

PHP код:
function get($url)
{
    
$curl curl_init();
    
curl_setopt($curlCURLOPT_URL$url);
    
curl_setopt($curlCURLOPT_HEADER0);
    
curl_setopt($curlCURLOPT_RETURNTRANSFER1);
    
curl_setopt($curlCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($curlCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/50.0');
    
curl_setopt($curlCURLOPT_SSL_VERIFYPEER0);
    
curl_setopt($curlCURLOPT_SSL_VERIFYHOST0);
    
curl_setopt($curlCURLOPT_TIMEOUT10);

    
$page curl_exec($curl);
    if (
$errno curl_errno($curl)) {
        
$error_message curl_strerror($errno);
        echo 
"cURL error ({$errno}):\n {$error_message}";
    }
    return 
$page;

но в итоге через консоль простым php не срабатывает.
грешу на то как подается урл из текстового файла, но хз как ещё, если через браузер и wget'ом работает
Soba вне форума  
Старый 24.05.2017, 09:29   #2
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144246
По умолчанию

Так посмотри какой url передается.
PHP код:
$file file("urls.txt"); 
echo 
trim($file[0]);
$page get(trim($file[0])); 
isoff вне форума  
Старый 24.05.2017, 09:40   #3
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 625
Бабло: $253350
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от isoff Посмотреть сообщение
Так посмотри какой url передается.
PHP код:
$file file("urls.txt"); 
echo 
trim($file[0]);
$page get(trim($file[0])); 
привет бро,
урл выдается нормальный такой как нужно и в правильном формате.
аля http://blabla.com/page.php

всё работает когда через браузер скрипт запускаешь, а если через баш запускать как php /var/script.php то не пашет
Soba вне форума  
Старый 24.05.2017, 10:00   #4
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144246
По умолчанию

Цитата:
Сообщение от Soba Посмотреть сообщение
привет бро,
урл выдается нормальный такой как нужно и в правильном формате.
аля http://blabla.com/page.php

всё работает когда через браузер скрипт запускаешь, а если через баш запускать как php /var/script.php то не пашет
Привет.
Сейчас проверю у себя на сервере.
isoff вне форума  
Старый 24.05.2017, 10:12   #5
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 625
Бабло: $253350
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от isoff Посмотреть сообщение
Цитата:
Сообщение от Soba Посмотреть сообщение
привет бро,
урл выдается нормальный такой как нужно и в правильном формате.
аля http://blabla.com/page.php

всё работает когда через браузер скрипт запускаешь, а если через баш запускать как php /var/script.php то не пашет
Привет.
Сейчас проверю у себя на сервере.
как мне кажется проблема в подаче урла из файла т.к. если тупо написать урл в
$page = get("http://google.com");

то всё обязательно сработает.
Soba вне форума  
Старый 24.05.2017, 10:12   #6
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144246
По умолчанию

Все работает как надо у меня.
PHP код:
<?
$file 
file("/soba/urls.txt"); 
echo 
trim($file[0])."\r\n";
$page get(trim($file[0])); 
echo 
'size:'.mb_strlen($page)."\r\n"
function 
get($url

    
$curl curl_init(); 
    
curl_setopt($curlCURLOPT_URL$url); 
    
curl_setopt($curlCURLOPT_HEADER0); 
    
curl_setopt($curlCURLOPT_RETURNTRANSFER1); 
    
curl_setopt($curlCURLOPT_FOLLOWLOCATION1); 
    
curl_setopt($curlCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/50.0'); 
    
curl_setopt($curlCURLOPT_SSL_VERIFYPEER0); 
    
curl_setopt($curlCURLOPT_SSL_VERIFYHOST0); 
    
curl_setopt($curlCURLOPT_TIMEOUT10); 

    
$page curl_exec($curl); 
    if (
$errno curl_errno($curl)) { 
        
$error_message curl_strerror($errno); 
        echo 
"cURL error ({$errno}):\n {$error_message}"
    } 
    return 
$page
}  
?>
php /soba/curl.php



Цитата:
Сообщение от Soba Посмотреть сообщение

как мне кажется проблема в подаче урла из файла т.к. если тупо написать урл в
$page = get("http://google.com");

то всё обязательно сработает.
Может в этом проблема?

isoff вне форума  
Старый 24.05.2017, 10:16   #7
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 625
Бабло: $253350
ТС -->
автор темы ТС По умолчанию

вот твой код запустил
Soba вне форума  
Старый 24.05.2017, 10:20   #8
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144246
По умолчанию

Цитата:
Сообщение от Soba Посмотреть сообщение
вот твой код запустил
$file = file("/soba/urls.txt");
Полный путь до файла со списком url укажи.
isoff вне форума  
Старый 24.05.2017, 10:21   #9
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,740
Бабло: $1695015
Отправить сообщение для Hector с помощью Jabber
По умолчанию

$file = file("urls.txt") or die("can't open file");
У тебя пых не там смотрит файл! А проблема как обычно в ленивой жопе кодеров на пхп. Они не привыкли проверять ошибки.
Hector вне форума  
Старый 24.05.2017, 10:21   #10
Soba
Senior Member
 
Регистрация: 02.05.2014
Сообщений: 625
Бабло: $253350
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от isoff Посмотреть сообщение
Цитата:
Сообщение от Soba Посмотреть сообщение
вот твой код запустил
$file = file("/soba/urls.txt");
Полный путь до файла со списком url укажи.
вот теперь всё гуд, такая банальщина ппц
спасибо!
Soba вне форума