如何使用cURL发送原始POST数据? (PHP)
我正在尝试使用$HTTP_RAW_POST_DATA将原始POST数据发送到页面,但我的尝试失败并且给出了未定义的索引通知.
我尝试过以下方法: curl_setopt($handle,CURLOPT_POSTFIELDS,'Raw POST data'); // Doesn't seem to work at all. curl_setopt($handle,array('Raw POST data')); // 0 => Raw POST data 我做了一些研究,有些人建议在请求中发送一个标题(Content-Type:text / plain),这似乎没有任何影响. 如果有人能够为这个问题提供解决方案,我将非常感激.谢谢! 解决方法
您的发送方/接收方周期的响应部分出现错误.
虽然这很可能是发送方的问题(它没有发送正确的请求),但也可能是由接收PHP脚本中的配置错误引起的.也就是说,即使请求是正确的,接收器也可能没有HTTP_RAW_POST_DATA可用. 见:http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data
因此,首先要检查的是是否确实填充了$HTTP_RAW_POST_DATA,从上面的页面要求: > .ini变量always_populate_raw_post_data为True, 此时,正确的发送数据的方式将是 curl_setopt($handle,urlencode('Raw POST data')); 但是,请注意,接收这些数据的推荐方法根本不是依赖于$HTTP_RAW_POST_DATA,而是要读取虚拟文件php:// input的内容.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |