Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Взаимодействие с webnames api с помощью cURL (bus1)
Author Message
bus1
Заглянувший



Joined: 24 Sep 2009
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Thu Sep 24, 2009 7:29 am (написано за 20 секунд)
   Post subject: Взаимодействие с webnames api с помощью cURL
Reply with quote

Здравствуйте господа программисты. Мне необходимо реализовать взаимодействие с https-шлюзом регистратора доменов webnames.ru Описание шлюза: https://www.webnames.ru/RegTimeSRS.pl
Пытаюсьреализовать данную задачу с помощью cURL.
Вот код:
Code (php): скопировать код в буфер обмена
<?
$url = 'https://www.webnames.ru:81/RegTimeSRS.pl';
$params = "thisPage=pispCheckDomain&username=test&password=test&domain_name=тест.ру&submit=submit";
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$err=curl_errno($ch);
$result=curl_exec ($ch);
echo (www.php.net/echo)($err);
curl_close ($ch);
echo (www.php.net/echo)("Results: <br>".$result)
?>
В результате работы скрипта - белый экран, а должен быть ответ шлюза типа: Domain: ya.ru Unavailable.
Никаких сообщений об ошибках нет.

Если отправить запрос через форму, которую webnames дают для примера, то ответ видно.
Вот форма:
Code (html): скопировать код в буфер обмена
<META (december.com/html/4/element/meta.html) content="text/html; charset=windows-1251" http-equiv="Content-Type"> (december.com/html/4/element/.html)

<FORM (december.com/html/4/element/form.html) action="https://www.webnames.ru:81/RegTimeSRS.pl" method="post"> (december.com/html/4/element/.html)

<input (december.com/html/4/element/input.html) type="hidden" name="thisPage" value="pispCheckDomain"> (december.com/html/4/element/.html)

<input (december.com/html/4/element/input.html) type="hidden" name="username" value="test"> (december.com/html/4/element/.html)
<input (december.com/html/4/element/input.html) type="hidden" name="password" value="test"> (december.com/html/4/element/.html)

domain_name: <input (december.com/html/4/element/input.html) type="text" name="domain_name" value="ya.ru"> (december.com/html/4/element/.html)<br> (december.com/html/4/element/br.html)

<input (december.com/html/4/element/input.html) type="submit"> (december.com/html/4/element/.html)

</FORM>
Но мне нужно получить, обработать, а затем выдать ответ пользователю на своем сайте в удобной форме, поэтому использую скрипт php+cURL.
Подскажите пожалуйста в чем моя ошибка?
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 197
   поощрить/наказать

Location: 007 495

PostPosted: Thu Sep 24, 2009 12:15 pm (спустя 4 часа 46 минут; написано за 1 минуту 36 секунд)
   Post subject:
Reply with quote

bus1 wrote:
domain_name=тест.ру
В POST-запросе русских символов (как множества других) встречаться не должно. Они должны быть закодированы в escape-последовательности. Для этого есть функция rawurlencode()
bus1 wrote:
взаимодействие с https-шлюзом
Раз уж Вы используете https, проверьте также, что у Вас стоит OpenSSL. Хотя, если ошибок не пишет, то, видимо, он всё-таки у Вас стоит :).
Back to top
View user's profile Send private message Send e-mail
bus1
Заглянувший



Joined: 24 Sep 2009
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Thu Sep 24, 2009 1:13 pm (спустя 58 минут; написано за 5 минут 43 секунды)
   Post subject:
Reply with quote

Юрий Насретдинов wrote:
bus1 wrote:
domain_name=тест.ру
В POST-запросе русских символов (как множества других) встречаться не должно. Они должны быть закодированы в escape-последовательности. Для этого есть функция rawurlencode()
bus1 wrote:
взаимодействие с https-шлюзом
Раз уж Вы используете https, проверьте также, что у Вас стоит OpenSSL. Хотя, если ошибок не пишет, то, видимо, он всё-таки у Вас стоит :).
Юрий, запустил скрипт локально (на денвере со всеми расширениями) заработало. Кодировать наоборот не нужно (если кодировать, не работает), возможно cURL сам кодирует.

Закачал скрипт на хостинг - не работает. Белый экран. Т.е. ничего не выводит. Ошибок тоже нет.

Посмотрел phpinfo на хостинге. openSSL установлен.

Т.е. получается ошибки в скрипте нет. Из-за чего-же тогда может белый экран?
Back to top
View user's profile Send private message
Владимир Хоменко
Участник форума



Joined: 11 Jun 2004
Posts: 427
Карма: 42
   поощрить/наказать

Location: Николаев, Украина

PostPosted: Thu Sep 24, 2009 1:35 pm (спустя 22 минуты; написано за 1 минуту 20 секунд)
   Post subject:
Reply with quote

Вывод ошибок полный? error_reporting, display_errors включили на вывод ошибок?

Раз не выводит "Results: <br>", значит PHP валится с ошибкой. Отлаживайте.
Back to top
View user's profile Send private message Send e-mail
bus1
Заглянувший



Joined: 24 Sep 2009
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Thu Sep 24, 2009 1:39 pm (спустя 3 минуты; написано за 1 минуту 23 секунды)
   Post subject:
Reply with quote

error_reporting, display_errors включено. echo(Result: <br>) я убрал из кода.
Теперь только результат должен появится, но его нет.
Вопрос открыт...
Back to top
View user's profile Send private message
Владимир Хоменко
Участник форума



Joined: 11 Jun 2004
Posts: 427
Карма: 42
   поощрить/наказать

Location: Николаев, Украина

PostPosted: Thu Sep 24, 2009 1:48 pm (спустя 8 минут; написано за 20 секунд)
   Post subject:
Reply with quote

а с опцией CURLOPT_VERBOSE что говорит?
Back to top
View user's profile Send private message Send e-mail
bus1
Заглянувший



Joined: 24 Sep 2009
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Thu Sep 24, 2009 1:56 pm (спустя 8 минут; написано за 47 секунд)
   Post subject:
Reply with quote

Владимир Хоменко wrote:
а с опцией CURLOPT_VERBOSE что говорит?
К сожалению ситуация не меняется. Белый экран.
Back to top
View user's profile Send private message
Владимир Хоменко
Участник форума



Joined: 11 Jun 2004
Posts: 427
Карма: 42
   поощрить/наказать

Location: Николаев, Украина

PostPosted: Thu Sep 24, 2009 2:06 pm (спустя 9 минут; написано за 59 секунд)
   Post subject:
Reply with quote

Тогда вам в помощь phpfaq.ru/debug#debug
Back to top
View user's profile Send private message Send e-mail
bus1
Заглянувший



Joined: 24 Sep 2009
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Fri Sep 25, 2009 8:50 am (спустя 18 часов 44 минуты; написано за 21 секунду)
   Post subject:
Reply with quote

Проблему решил. В скрипте ошибки небыло.

Вопрос решен, тему можно закрыть.
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Fri Sep 25, 2009 1:26 pm (спустя 4 часа 36 минут; написано за 13 секунд)
   Post subject:
Reply with quote

bus1
и в чём была проблема?
Back to top
View user's profile Send private message
bus1
Заглянувший



Joined: 24 Sep 2009
Posts: 6
Карма: 0
   поощрить/наказать


PostPosted: Fri Sep 25, 2009 1:33 pm (спустя 7 минут; написано за 1 минуту 29 секунд)
   Post subject:
Reply with quote

Maus wrote:
bus1
и в чём была проблема?
Проблема была в фаерволе хостера. Он обрубал подключение по 81 порту, поэтому скрипт работал на денвере, а на сервере нет.
Back to top
View user's profile Send private message
Владимир Хоменко
Участник форума



Joined: 11 Jun 2004
Posts: 427
Карма: 42
   поощрить/наказать

Location: Николаев, Украина

PostPosted: Fri Sep 25, 2009 1:34 pm (спустя 58 секунд; написано за 17 секунд)
   Post subject:
Reply with quote

Очень странно, что CURL с опцией CURLOPT_VERBOSE этого не сообщал...
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 197
   поощрить/наказать

Location: 007 495

PostPosted: Fri Sep 25, 2009 6:22 pm (спустя 4 часа 47 минут; написано за )
   Post subject:
Reply with quote

Видимо, если грамотно настроить фаервол, то сетевые утилиты не смогут понять, в чем дело :).
Back to top
View user's profile Send private message Send e-mail
dimagolov
Участник форума



Joined: 04 Feb 2007
Posts: 1664
Карма: 96
   поощрить/наказать

Location: Christ Church, Barbados

PostPosted: Fri Sep 25, 2009 8:55 pm (спустя 2 часа 32 минуты; написано за 2 минуты 29 секунд)
   Post subject:
Reply with quote

Юрий Насретдинов wrote:
Видимо, если грамотно настроить фаервол, то сетевые утилиты не смогут понять, в чем дело :).
собствено если "тихо" дропать левые пакеты (что делается в большинстве случаев), а не давать отлуп отправителю, то тот никогда и не узнает, что происходит, будет думать что пакет "ушел" и ждать ответа на него.
e.g. в PF такое достигается через установку set block-policy drop
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 197
   поощрить/наказать

Location: 007 495

PostPosted: Fri Sep 25, 2009 9:01 pm (спустя 6 минут; написано за 21 секунду)
   Post subject:
Reply with quote

dimagolov wrote:
собствено если "тихо" дропать левые пакеты (что делается в большинстве случаев)
Ага, именно это я и имел ввиду :). Но, возможно, есть и какие-то другие способы, которые могут привести к таким же последствиям.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML