这是我用来执行POST请求的函数。希望它能做你想做的:
function http_post($server, $port, $url, $vars) {
$urlencoded = "";
foreach ($vars as $Index => $Value)
$urlencoded .= urlencode($Index ) . "=" . urlencode($Value) . "&";
$urlencoded = substr($urlencoded,0,-1);
$headers = "POST $url HTTP/1.0\r\n"
. "Content-Type: application/x-www-form-urlencoded\r\n"
. "Content-Length: ". strlen($urlencoded) . "\r\n\r\n";
$fp = fsockopen($server, $port, $errno, $errstr, 10);
if (!$fp) return "ERROR: fsockopen failed.\r\nError no: $errno - $errstr";
fputs($fp, $headers);
fputs($fp, $urlencoded);
$ret = "";
while (!feof($fp)) $ret .= fgets($fp, 1024);
fclose($fp);
return $ret; }
下面是我使用它将post变量转发到API的一个例子
$response = http_post("www.nochex.com", 80, "/nochex.dll/apc/apc", $_POST);