Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: CURL пустой ответ

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
new01
Отправлено: 16 Ноября, 2014 - 17:21:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Здравствуйте!

Вообщем делаю просто запрос через curl от сервера #1 к серверу #2, к каждому из них имею доступ. Проблема в том, что вчера всё работало просто отлично, ответ приходил и т.п. Сегодня пустой ответ. Пробую с другого домена севрера #1 тоже ответ пуст. В логах сервера #2 вообще нет этого обращения. Может ли сервер #1 попасть в бан у 2ого сервера какой-нибудь и т.п.? на сервере 2 стоит для управления Parallels Panel.

При этом с любого другого сервера я получаю ответ. И с локалки тоже. К тому же, на сервер 1 проверил cURL support enabled.

Буду благодарен за любой совет.

Код:
PHP:
скопировать код в буфер обмена
  1. $page="http://...";
  2.         $ch = curl_init($page);
  3.         curl_setopt($ch, CURLOPT_POST, 1);
  4.         # POST /forum/..
  5.         curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36");
  6.         # User-Agent
  7.         $headers = array
  8.         (
  9.        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
  10.        'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
  11.        'Accept-Encoding: deflate',
  12.        'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'
  13.   );
  14.         curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
  15.         # добавляем заголовков к нашему запросу. Чтоб смахивало на настоящих
  16.         curl_setopt($ch, CURLOPT_REFERER, "http://...");
  17.                   # Подделываем значение - откуда пришли данные.
  18.                  // curl_setopt($ch, CURLOPT_POSTFIELDS, 'action=login&imembername=valenok&ipassword=ne_skaju&submit=%C2%F5%EE%E4');
  19.                   # post данные.
  20.                   # умная libcurl сама добавит заголовки
  21.                   # Content-Type: application/x-www-form-urlencoded и Content-Length: 71
  22.                   curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");  
  23.                   curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");  
  24.                   # Функции для обработки установливаемых форумом кук.
  25.                   # подробнее рассмотрим далее.
  26.                   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  27.                   # Убираем вывод данных в браузер. Пусть функция их возвращает а не выводит
  28.         $string=curl_exec($ch); // выполняем запрос curl
  29.         curl_close($ch);
  30.         $array = json_decode($string, true);
  31. echo $string;


Заранее всем спасибо.
(Добавление)
Хочу дополнить: пробовал делать запрос с сервера 1 на любой другой - пустой ответ. Хотя cURL support enabled.


-----
new01
 
 Top
Bio man
Отправлено: 16 Ноября, 2014 - 18:07:43
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




какой код HTTP статуса приходит в ответ?

(Отредактировано автором: 16 Ноября, 2014 - 18:08:01)

 
 Top
new01
Отправлено: 16 Ноября, 2014 - 18:20:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Bio man пишет:
какой код HTTP статуса приходит в ответ?

По вот этому коду пустой. Вообще ничего.
PHP:
скопировать код в буфер обмена
  1.  
  2. if( $curl = curl_init() ) {
  3.     curl_setopt($curl,CURLOPT_URL,'http://...');
  4.     curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  5.     curl_setopt($curl,CURLOPT_NOBODY,true);
  6.     curl_setopt($curl,CURLOPT_HEADER,true);
  7.     $out = curl_exec($curl);
  8.     echo $out;
  9.     curl_close($curl);
  10.   }
  11.  


-----
new01
 
 Top
Bio man
Отправлено: 16 Ноября, 2014 - 18:22:52
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




отладь согласно этому http://php.net/manual/ru/function.curl-error.php
(Добавление)

(Отредактировано автором: 16 Ноября, 2014 - 18:23:46)

 
 Top
new01
Отправлено: 16 Ноября, 2014 - 18:32:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Bio man пишет:
http://php.net/manual/ru/function.curl-error.php

Couldn't resolve host 'xxx.net'
Хм, уже что-то, можете посоветовать что-нибудь?


-----
new01
 
 Top
OrmaJever Модератор
Отправлено: 16 Ноября, 2014 - 18:36:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




new01 там же русским по белому написано что у курла не получается


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Bio man
Отправлено: 16 Ноября, 2014 - 18:38:01
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




 
 Top
new01
Отправлено: 16 Ноября, 2014 - 23:21:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Если делать запрос по IP, то всё ок, ребят не подскажите, как сделать запрос по IP к конкретной странице да ещё и с GET переменными?


-----
new01
 
 Top
Bio man
Отправлено: 17 Ноября, 2014 - 00:25:26
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




http://php.net/manual/ru/functio...ethostbyname.php
(Добавление)
GET параметры передавай в URL, как и обычно
 
 Top
new01
Отправлено: 17 Ноября, 2014 - 01:49:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




[quote=Bio man][/quote]
Функция даёт IP только для домена xxx.net, если адрес xxx.net/api.php не работает... к тому же на сервере несколько доменов.


-----
new01
 
 Top
Bio man
Отправлено: 17 Ноября, 2014 - 02:09:02
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




И в чем проблема? Порежь адрес, потом склей. Нужен список доменов? Пожалуйста, есть функция, можешь найти ее в списке по ссылке выше
 
 Top
new01
Отправлено: 17 Ноября, 2014 - 15:56:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




[quote=Bio man][/quote]
что значит порежь адрес? xxx.net/api.php на xx.net и api.php? если так то это нам ничего не даст


-----
new01
 
 Top
Bio man
Отправлено: 17 Ноября, 2014 - 16:54:05
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Например, было google.com/api.php
стало 173.194.67.138/api.php

Если по IP адресу работает, то почему ничего не даст?
В чём проблема?
 
 Top
Panoptik
Отправлено: 17 Ноября, 2014 - 19:05:01
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




если проблема с локальным днс сервером, то можно захардкодить в хостс айпи домен, другой вариант, сменить днс сервер на сервере. прописать один из открытых, например 8.8.8.8 или 8.8.4.4


-----
Just do it
 
 Top
new01
Отправлено: 17 Ноября, 2014 - 20:12:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Bio man пишет:
Например, было google.com/api.php
стало 173.194.67.138/api.php

Если по IP адресу работает, то почему ничего не даст?
В чём проблема?

я же объяснил на одно IP несколько доменов, ваш вариант не работает, я пробовал


-----
new01
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB