方法一:HTTP函数发送方式
说明:$data为POST发送的数据:$key为参数名,$val为参数值
-
$URL = "http://pre.payment.sdoa.sdo.com/";
-
$data = $key1."=".val1."&".$key2."=".val2;
-
$PostResult = http_post_data($BGWURL,$data );
方法二:Curl Post数据[php] view plain copy-
function _curl_post($url, $vars) {
-
$ch = curl_init();
-
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
-
curl_setopt($ch, CURLOPT_URL,$url);
-
curl_setopt($ch, CURLOPT_POST, 1 );
-
curl_setopt($ch, CURLOPT_HEADER, 0 ) ;
-
curl_setopt($ch, CURLOPT_POSTFIELDS, "var=".$vars);
-
$data = curl_exec($ch);
-
curl_close($ch);
-
if ($data)
-
return$data;
-
else
-
return false;
-
}
方法三:fsockopen方式
说明:$data为POST发送的数据:$data为数组形式
[php] view plain copy-
function posttohost($url, $data) {
-
$url = parse_url($url);
-
if (!$url) return"couldn't parse url";
-
if (!isset($url['port'])) { $url['port'] = ""; }
-
if (!isset($url['query'])) { $url['query'] = ""; }
-
$encoded = "";
-
while (list($k,$v) = each($data)) {
-
$encoded .= ($encoded ? "&" : "");
-
$encoded .= rawurlencode($k)."=".rawurlencode($v);
-
}
-
$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80);
-
if (!$fp) return"Failed to open socket to $url[host]";
-
fputs($fp, sprintf("POST %s%s%s HTTP/1.0/n", $url['path'], $url['query'] ? "?" : "", $url['query']));
-
fputs($fp, "Host: $url[host]/n");
-
fputs($fp, "Content-type: application/x-www-form-urlencoded/n");
-
fputs($fp, "Content-length: " . strlen($encoded) . "/n");
-
fputs($fp, "Connection: close/n/n");
-
fputs($fp, "$encoded/n");
-
$line = fgets($fp,1024);
-
if (!eregi("^HTTP/1/.. 200", $line)) return;
-
$results = ""; $inheader = 1;
-
while(!feof($fp)) {
-
$line = fgets($fp,1024);
-
if ($inheader && ($line == "/n" || $line == "/r/n")) {
-
$inheader = 0;
-
}
-
elseif (!$inheader) {
-
$results .= $line;
-
}
-
}
-
fclose($fp);
-
return$results;
-
}
-
-