转载于地址:http://blog.lixiphp.com/solve-drupal-post-request-empty/

当再Drupal 6中使用drupal_http_request POST数据到一个URL时。如果你调用时没有设置Content-Type头,接收URL可能没有收到任何POST的内容。

错误的写法:
$result = drupal_http_request(‘http://blog.lixiphp.com/demo/http_request/post.php’, array(), ‘POST’, ‘param1=value1&param2=value2′);
print_r($result);

解决方法

在Header头部信息中加入:
array(‘Content-Type’ => ‘application/x-www-form-urlencoded’)
正确的使用POST用法:
$result = drupal_http_request(‘http://blog.lixiphp.com/demo/http_request/post.php’, array(‘Content-Type’ => ‘application/x-www-form-urlencoded’), ‘POST’, ‘param1=value1&param2=value2′);
print_r($result);
响应结果:
[data] => POST<br>Array
(
    [param1] => value1
    [param2] => value2
)
只截取了返回的data数据,表面接收URL已经成功得到了POST数据。