На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > CURL POST обрезает после нулевого байта
      Добрый день.

      Помогите пожалуйста разобраться в магии курла.
      Пытаюсь отправить post запрос с контент-строкой содержащей помимо текста, байтовые вставки типа:

      Resolution x21x05 Count x50x00 Default x50x01

      Отправляю запрос (отправляю на google.ru как http для теста), ловлю сниффером и вижу, что мой запрос "благополучно" обрезан на нулевом байте,
      т.е. в хекс виде это примерно так:

      x10x0Ax40x30x32x64x61x65x50 дальше должен был быть x00

      Content-Length в том же сниффере вижу, что я указал корректно, но где бы я не ставил нулевой байт - контент обрезает ровнехонько до него...

      Отправляю запрос так:
      curl.setOptInt(CURLOPT_POST, 1)
      curl.setOptString(CURLOPT_POSTFIELDS, postfield)
      curl.setWriteString()
      curl.httpHeader(mes)
      curl.setOptString(CURLOPT_URL, url)
      curl.perform()

      Если добавляю CURLOPT_POSTFIELDSIZE, Len(postfield)
      то запрос с нулевым байтом не обрезается, но он идет в двух пакетах, в одном хедеры, в другом контент
      и из за этого часто ловлю ошибку от самого курла - Failed sending data to the peer

      Помогите нолик отправить.
        Надо начать с того, что например написать запрос для curl в командной строке, показать что там он пишет, а уже потом разбираться, что собственно в коде заполняется не так, в чем отличия. Убедиться что запрос с командной строки корректно отрабатывается.
          ter_nk_
          Этому посту уже больше года... :lol:
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0159 ]   [ 16 queries used ]   [ Generated: 29.03.24, 00:24 GMT ]