RAW POST с использованием cURL в PHP

95

Как я могу сделать RAW POST в PHP с помощью cURL?

Необработанная запись без кодировки, и мои данные хранятся в строке. Данные должны быть отформатированы следующим образом:

... usual HTTP header ...
Content-Length: 1039
Content-Type: text/plain

89c5fdataasdhf kajshfd akjshfksa hfdkjsa falkjshfsa
ajshd fkjsahfd lkjsahflksahfdlkashfhsadkjfsalhfd
ajshdfhsafiahfiuwhflsf this is just data from a string
more data kjahfdhsakjfhsalkjfdhalksfd

Один из вариантов заключается в том, чтобы вручную записывать весь HTTP-заголовок, который отправляется, но это кажется менее оптимальным.

В любом случае, могу ли я просто передать параметры curl_setopt(), которые используют POST, использовать текст /plain и отправлять необработанные данные из $variable?

Теги:
curl
post
put

1 ответ

168
Лучший ответ

Я только нашел решение, вроде ответа на свой вопрос, если кто-то еще наткнулся на него.

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,            "http://url/url/url" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POST,           1 );
curl_setopt($ch, CURLOPT_POSTFIELDS,     "body goes here" ); 
curl_setopt($ch, CURLOPT_HTTPHEADER,     array('Content-Type: text/plain')); 

$result=curl_exec ($ch);
  • 4
    php установит для вас заголовок content-length или вы тоже должны это установить?
  • 3
    Я не могу заставить это работать вообще. У меня есть страница, на которую я пытаюсь опубликовать необработанные данные. На этой странице записываются все необработанные данные, которые она получает, в таблицу базы данных. Новых рядов нет вообще. Знаете ли вы, что-нибудь изменилось здесь с '09?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню