【发布时间】:2010-12-07 20:55:03
【问题描述】:
我遇到了一个在 PHP 中发送标头的令人震惊的问题。我已经在 SO 和其他网站上阅读了大约 45 分钟,但我无法为我的问题找到合理的理由。
我需要向另一台服务器发送 POST 请求,并且我正在使用 PHP header() 函数来设置值。我有下面的示例代码。
$server = 'http://fakedomain.com';
$server_path = '/';
$request = 'key=value&key2=value2';
header("POST $server_path HTTP/1.1" );
header("Host: $server\r\n" );
header("Content-type: application/x-www-form-urlencoded\r\n" );
header("Content-length: ".strlen($request)."\r\n" );
header("Connection: close\r\n\r\n" );
header($request);
我尝试了多种选项,但每个选项都会在我的日志文件中导致相同的错误
malformed header from script. Bad header=POST / HTTP/1.1: php5.cgi
我是一名经验丰富的 PHP 程序员,只是不太需要手动发送 HTTP 发布请求。
我希望代码重定向浏览器,所以我决定使用这种方法。
我做得对吗?
还有其他一些我不知道的标准方法吗?
【问题讨论】: