За последние 24 часа нас посетил 62991 программист и 1741 робот. Сейчас ищут 744 программиста ...

Отправка http get запроса

Тема в разделе "Прочие вопросы по PHP", создана пользователем Inspire, 26 ноя 2014.

  1. Inspire

    Inspire Новичок

    С нами с:
    12 ноя 2014
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте, не получается отправит get запрос такого вида:
    https://сайт/bgbilling/executer?user=user&pswd=password&id=859&tpid=14&module=contract&action=UpdateContractTariffPlan&date2=25.11.2014&comment=comment&cid=9&date1=25.11.2014&pos=0

    Пробовал через cURL
    Код (Text):
    1. $url_q = "https://сайт/bgbilling/executer?user=user&pswd=password&id=859&tpid=14&module=contract&action=UpdateContractTariffPlan&date2=25.11.2014&comment=comment&cid=9&date1=25.11.2014&pos=0";
    2. $curl = curl_init();
    3. curl_setopt($curl, CURLOPT_URL, "$url_q");
    4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    5.  
    6.  
    7. curl_setopt($curl, CURLOPT_COOKIEJAR, 'cook.txt');
    8. curl_setopt($curl, CURLOPT_COOKIEFILE, 'cook.txt');
    9. curl_setopt($curl, CURLOPT_USERAGENT, "Opera/10.00 (Windows NT 5.1; U; ru) Presto/2.2.0");
    10. curl_setopt($curl, CURLOPT_FAILONERROR, true);
    11. curl_setopt($curl, CURLOPT_REFERER, "$url_q");
    12. curl_setopt($curl, CURLOPT_TIMEOUT, 3);
    13. curl_setopt($curl, CURLOPT_HEADER, true);
    14. curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, false);
    15. curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, false);
    16. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    17.  
    18. $result = curl_exec($curl);
    19. curl_close($curl);
    Пробовал просто так :
    Код (Text):
    1.     $ch = curl_init();
    2.  
    3.     curl_setopt($ch, CURLOPT_URL, "https://сайт/bgbilling/executer");
    4.     curl_setopt_array($ch, array(
    5.         'user' => 'user',
    6.         'pswd' => 'password',
    7.         'id' => '859',
    8.         'tpid' => '14',
    9.         'module' => 'contract',
    10.         'action' => 'UpdateContractTariffPlan',
    11.         'date2' => '25.11.2014',
    12.         'comment' => 'comment',
    13.         'cid' => '9',
    14.         'date1' => '25.11.2014',
    15.         'pos' => '0'
    16.     ));
    17.     $output = curl_exec($ch);
    18.     curl_close($ch);
    Если вставляю этот код вначале страницы, то просто страница даже не грузится. Если в конце, то страница загружается, но ничего не происходит с запросом, т.е. не отправляется
     
  2. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Посмотри идёт ли запрос к https://сайт/ и что возвращается
    Это можно сделать через Fiddler на локальном компьютере
    И функцию curl_setopt_array используй правильно php.net/manual/ru/function.curl-setopt-array.php
     
  3. Inspire

    Inspire Новичок

    С нами с:
    12 ноя 2014
    Сообщения:
    5
    Симпатии:
    0
    Проблема была в том, что не была подключена библиотека curl.dll

    Добавлено спустя 2 минуты 17 секунд:
    Можно ли как-нибудь получить тело ответа на https get Запрос?
     
  4. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Так за это отвечает CURLOPT_RETURNTRANSFER, и проверка сертификатов выключена, значит всё должно работать с https
     
  5. Inspire

    Inspire Новичок

    С нами с:
    12 ноя 2014
    Сообщения:
    5
    Симпатии:
    0
    Ну не выводит он че-то. Мне выводится только заголовок:
    HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Cache-control: no-cache, no-store, must-revalidate Last-Modified: Thu, 01 Jan 1970 00:00:01 GMT Expires: Thu, 01 Jan 1970 00:00:01 GMT Set-Cookie: JSESSIONID=A7DE525A723FDF665D028B55D8C36603; Path=/; Secure; HttpOnly Content-Type: text/xml;charset=UTF-8 Transfer-Encoding: chunked Date: Wed, 26 Nov 2014 12:17:07 GMT

    А мне надо получить параметр title из тэга tariff из тела ответа. А тело такое:
    Код (Text):
    1.  
    2. <data secret="secret" status="ok">
    3. <contract comment="Пробный договор на Интернет" comments="0" date1="01.07.2014" date2="" del="0" fc="0" gr="1"     hierarchy="independent" limit="0.00" mode="1" objects="1/1" status="Активен" title="102-1000001"/>
    4. <info>
    5. <groups>
    6. <item id="0" title="company"/>
    7. </groups>
    8. <tariff>
    9. <item id="12" title="Мега 80"/>
    10. </tariff>
    11. <balance mm="11" summa1="1118.32" summa2="0.00" summa3="592.80" summa4="0.00" summa5="525.52" summa6="525.52" summa7="0.00" yy="2014"/>
    12. <modules>
    13. <item id="7" package="bitel.billing.module.services.npay" status="" title="Абонплата"/>
    14. <item id="1" package="bitel.billing.module.services.bill" status="" title="Бухгалтерия"/>
    15. <item id="3" package="ru.bitel.bgbilling.modules.inet.api.client" status="" title="Коммутируемые соединения"/>
    16. <item id="6" package="bitel.billing.module.services.rscm" status="" title="Разовые услуги"/>
    17. </modules>
    18. <script>
    19. <item id="2" title="Тест"/>
    20. </script>
    21. <plugins/>
    22. </info>
    23. </data>
     
  6. metadon

    metadon Активный пользователь

    С нами с:
    6 фев 2006
    Сообщения:
    779
    Симпатии:
    0
    Попробуй на других сайтах, может этот защищается