如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
发布时间:2016-12-29 来源:查字典编辑
摘要:可以使用以下函数来实现:

可以使用以下函数来实现:

<?php

functionposttohost($url,$data){

$url=parse_url($url);

if(!$url)return"couldn'tparseurl";

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"Failedtoopensocketto$url[host]";

fputs($fp,sprintf("POST%s%s%sHTTP/1.0n",$url['path'],$url['query']?"?":"",$url['query']));

fputs($fp,"Host:$url[host]n");

fputs($fp,"Content-type:application/x-www-form-urlencodedn");

fputs($fp,"Content-length:".strlen($encoded)."n");

fputs($fp,"Connection:closenn");

fputs($fp,"$encodedn");

$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=="rn")){

$inheader=0;

}

elseif(!$inheader){

$results.=$line;

}

}

fclose($fp);

return$results;

}

?>

--------------------------------------------------------------------------------------------------

也可以这样

<?php

$URL="www.mysite.com/test.php";

$ch=curl_init();

curl_setopt($ch,CURLOPT_URL,"https://$URL");

curl_setopt($ch,CURLOPT_POST,1);

curl_setopt($ch,CURLOPT_POSTFIELDS,"Data1=blah&Data2=blah");

curl_exec($ch);

curl_close($ch);

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类