За последние 24 часа нас посетили 61935 программистов и 1594 робота. Сейчас ищут 925 программистов ...

Curl redirect_url

Тема в разделе "Прочие вопросы по PHP", создана пользователем wir_wolf, 18 мар 2013.

  1. wir_wolf

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

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    Доброго времени суток. Написал систему логин для одного проекта. Она содержит курл. На локальной машине все работает как часы(XAMPP 1.7.2) А на хостинге появились проблемы. дело в то что я использую cUrl с дерективой CURLOPT_FOLLOWLOCATION.
    У меня на локальной машине
    Код (Text):
    1. safe_mode   Off Off
    2. safe_mode_exec_dir  no value    no value
    3. safe_mode_gid   Off Off
    4. safe_mode_include_dir   no value    no value
    5. open_basedir    no value    no value
    И все отлично. А на хостинге
    Код (Text):
    1.  
    2. safe_mode   Off Off
    3. safe_mode_exec_dir  no value    no value
    4. safe_mode_gid   Off Off
    5. safe_mode_include_dir   no value    no value
    6. open_basedir    /home/*****/wirotest/www:/home/brick/.system/tmp:/usr/local/pear /home/*****/wirotest/www:/home/brick/.system/tmp:/usr/local/pear
    И система не хочет ити по редиректам выдавая варнинг
    Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/****/wirotest/www/my_dev_code/core.login.php on line 35
    Я решил обойти эту хитрую систему кодом типа
    Код (Text):
    1.  
    2.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);    // возвращает веб-страницу
    3.         curl_setopt($ch, CURLOPT_HEADER, 1);            // возвращает заголовки
    4.         curl_setopt($ch, CURLOPT_POST,0);               //Будем отправлять POST запрос
    5.         curl_setopt($ch, CURLOPT_USERAGENT, USERAGENT);//Юзер агент
    6.         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);//Автоматом идём по редиректам
    7.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    8.         curl_setopt($ch, CURLOPT_URL,'********');//Куда отправляем
    9.         curl_setopt($ch,CURLOPT_REFERER,'*******');//Откуда пришли
    10.         curl_setopt($ch, CURLOPT_HEADER, TRUE);//Юзер агент
    11.         curl_exec($ch);
    12.         $loc = curl_getinfo($ch);
    13.         print_r($loc);
    14.        
    15.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);    // возвращает веб-страницу
    16.         curl_setopt($ch, CURLOPT_HEADER, 1);            // не возвращает заголовки
    17.         curl_setopt($ch, CURLOPT_POST,1);               //Будем отправлять POST запрос
    18.         curl_setopt($ch, CURLOPT_USERAGENT, USERAGENT);//Юзер агент
    19.         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);//Автоматом идём по редиректам
    20.         curl_setopt($ch, CURLOPT_URL,$loc['redirect_url']);//Куда отправляем
    21.         curl_setopt($ch,CURLOPT_REFERER,'********');//Откуда пришли
    22.         curl_setopt($ch, CURLOPT_HEADER, TRUE);//Юзер агент
    23.         var_dump(curl_exec($ch));
    но как оказалось ячейки массива redirect_url нету когда скрипт работает на сервере.
    Как быть в такой ситуации?
    ЗЫ. Хост то платный но редактировать open_basedir я не могу
    ЗЫЫ. Пытался через ini_set(); но не заканало.
     
  2. jenya777777

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

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    Может написать в техподдержку, пусть включат, все что тебе надо
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Возьми vps настрой как душе угодно.
     
  4. Priler

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

    С нами с:
    2 мар 2013
    Сообщения:
    171
    Симпатии:
    0
    Адрес:
    New-York
    Что за хостинг такой дохлый?
    Даже на бесплатном Hostinger curl_redirect как часы работает