За последние 24 часа нас посетили 22296 программистов и 1050 роботов. Сейчас ищет 631 программист ...

Почему не работает GET зарос через curl на PHP?

Тема в разделе "PHP для новичков", создана пользователем VaneS, 28 янв 2020.

Метки:
  1. VaneS

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

    С нами с:
    16 ноя 2011
    Сообщения:
    636
    Симпатии:
    4
    Адрес:
    Россия
    Добрый день!
    Есть 2 сервера.
    server1.ru, работает на xampp, поднят локально.
    server2.ru, работает обычный апач, удаленный сервер.
    С сервера 1 нужно сделать обычный запрос на сервер 2 и забрать страницу.
    Написал простой код: (index.php)
    PHP:
    1. $url = "http://server2.ru/?comand=signf&thumbprint=$thumbprint&message=$msg";
    2.     $ch = curl_init($url);
    3.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    4.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    5.     curl_setopt($ch, CURLOPT_HEADER, false);
    6.     $html = curl_exec($ch);
    7.     curl_close($ch);
    8.     print_r($html);
    Открываю в браузере server1.ru, мне выдает:
    [​IMG]
    Если открыть в браузере тот адрес к которому обращается курл, то все нормально отрабатывает.
    В чем может быть проблема?
     
  2. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    1. попробуйте добавить еще CURLOPT_SSL_VERIFYHOST false
    2. попробуйте тоже сделать через file_get_contents...
    3. а вообще используйте Guzzle)) он удобнее)
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.820
    Симпатии:
    736
    Адрес:
    Татарстан
  4. VaneS

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

    С нами с:
    16 ноя 2011
    Сообщения:
    636
    Симпатии:
    4
    Адрес:
    Россия
    Проблему была в том что в переменную:
    PHP:
    1. $msg
    присваивалась строка с пробелом типа "слово1 слово2"
    Решил проблему вот так:
    PHP:
    1. $msg = urlencode("test test");
    Все начало работать!