curl и ошибка 400

Тема в разделе "PHP", создана пользователем TrastMan, 31 мар 2011.

Модераторы: latteo
  1. TrastMan

    TrastMan Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    117
    Симпатии:
    4
    Что теоретически может вызывать? Что это вообще за ошибка синтаксиса? Не всегда, обычно возникает на ресурсах с множественными редиректами. Топик по аналогичной проблеме читал. Интересно кто решил, и где был косяк.
     
  2. Hander

    Hander

    Регистр.:
    19 ноя 2007
    Сообщения:
    175
    Симпатии:
    45
    по идее curl это библиотека php
    какой используется движок? (видимо проблема в функции движка который использует данную библиотеку)
    какой используется хостинг?
     
  3. frantz1488

    frantz1488

    Регистр.:
    21 мар 2010
    Сообщения:
    162
    Симпатии:
    43
    PHP:
    // проблема может быть с куками, записывать и читать нужно так
    curl_setopt($chCURLOPT_COOKIEFILE"cookiefile");
    curl_setopt($chCURLOPT_COOKIEJAR"cookiefile");

    // или если парсится через ssl то нужно добавить
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
     
  4. TrastMan

    TrastMan Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    117
    Симпатии:
    4
    Мне куки в фаил записывать никак, но там все ок. Их в первую очередь просматривал.
    А что за движок?

    Как бы вывести все заголовки отправляемые курлом, полностью с пробелами переносами и т.д.? Отладка идет на удаленной машине с freebsd.
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    проверяй заголовки, которые посылаешь серверу и заголовки ответа от самого сервера. Вообще тут с ходу трудно понять в чем конкретно может быть ошибка, так приведи полный код.
     
  6. TrastMan

    TrastMan Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    117
    Симпатии:
    4
    Полный код выложить не могу. Там куки отдаются строкой. А их несколько. Может их нужно разделить или вообще в массиве передать:) Срабатывает раз через три на одном ресурсе. Вообще мистика.
     
  7. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    ты куки вручную подменяешь что-ли?
     
  8. frantz1488

    frantz1488

    Регистр.:
    21 мар 2010
    Сообщения:
    162
    Симпатии:
    43
    куки должны где-то храниться, а не парить в воздухе :)
    следует пошаманить и попробовать разные варианты, в том числе и передать массивом. я так понял что вы просто подставляете куки, а возможно ресурс хочет записать новые и на основе этого продолжить сессию.
    ЗЫ: розделить конечно нужно
     
  9. TrastMan

    TrastMan Постоялец

    Регистр.:
    13 ноя 2007
    Сообщения:
    117
    Симпатии:
    4
    Куки в переменной. Новые для каждой сессии. Забираю регуляркой. Отдаются строкой вида:
    Код:
    taram_param=MTl8MHwxfDF8MXwxOXwwfDB8M5wwfDB8MGRmY7RhNzZjNWQzYWM4NzgyYzQ4OGUzMjU4YzU4YWU=; expires=Saturday, 03 Apr 11 14:27:11 GMT; path=/; domain=.domain.com; 73ee99fbcd3377a27e309236e2ad39c3=1301668073-0-!0;path=/;expires= a51d3ce860701c83748ff01f924s1368=aa386f4477a7b15d5935ef744c46e63d;path=/
    Может быть так нельзя, должен быть другой формат? Это срабатывает в части случаев, иногда ошибка 400 или malformed. Я не врубаюсь от чего зависит...
     
  10. frantz1488

    frantz1488

    Регистр.:
    21 мар 2010
    Сообщения:
    162
    Симпатии:
    43
    если кукисы отдает сервер то настоятельно рекомендую запись/чтение так:
    PHP:
    curl_setopt($chCURLOPT_COOKIEFILE"cookiefile"); 
    curl_setopt($chCURLOPT_COOKIEJAR"cookiefile");
    ежели выдираете их из яваскрипта то разбейте в массив