一尘不染

在PHP中使用cURL进行RAW POST

php

如何使用cURL在PHP中进行RAW POST?

未经处理的原始帖子没有任何编码,我的数据存储在字符串中。数据应采用以下格式:

... 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,使用文本/纯文本以及从中发送原始数据$variable


阅读 1516

收藏
2020-05-26

共1个答案

一尘不染

我刚刚找到了解决方案,可以回答我自己的问题,以防其他人偶然发现它。

$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);
2020-05-26