简单脚本
<?php
$host = "mysite.com";
$path = "/test.php";
$data = "drivingMeCrazy";
$data = urlencode($data);
header("POST $path HTTP/1.1\r\n" );
header("Host: $host\r\n" );
header("Content-type: application/x-www-form-urlencoded; charset=utf-8\r\n" );
header("Content-length: " . strlen($data) . "\r\n" );
header("Connection: close\r\n\r\n" );
header($data);
?>
运行时,我的服务器只给了我内部错误。我需要做的只是.... POST。没有其他的。我不需要任何回复。
答案 0 :(得分:2)
header
function用于设置响应的标头。如果您想向其他服务器发出请求,请尝试cURL。
答案 1 :(得分:2)
你正在寻找这样的东西:
$process = curl_init($host);
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: application/xml', $additionalHeaders)); //<-- update to reflect your content-type
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password); // <-- you probably don't need that
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $payloadName);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
答案 2 :(得分:1)
您无法使用header()
将数据发送到第三方服务器。 header()
只是将标头信息发送给向您的网络服务器发出请求的客户端。
查看cURL库,从服务器端PHP向第三方发起请求:
http://ca.php.net/manual/en/book.curl.php
我不能保证这个库,但它似乎是一个免费提供的Trackbacks for PHP实现:
答案 3 :(得分:0)
找到我在这里寻找的答案:
http://bytes.com/topic/php/answers/1211-doing-http-post
Curl会起作用。我只想在不同的平台上进行这项工作,所以我想找到最直接的方法。再次感谢。