加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量

发布时间:2016-11-26 17:32:06 所属栏目:百科 来源:站长网
导读:可以使用以下函数来实现:nbsp; lt;?php functionnbsp;posttohost($url,nbsp;$data)nbsp;{ $urlnbsp;=nbsp;parse_url($url); ifnbsp;(!$url)nbsp;returnnbsp;"couldn'tnbsp;parsenbsp;url"; ifnbsp;(!isset($url['port']))nbsp;{nbsp;$url['port']nbsp;=nb

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

lt;?php
functionnbsp;posttohost($url,nbsp;$data)nbsp;{
$urlnbsp;=nbsp;parse_url($url);
ifnbsp;(!$url)nbsp;returnnbsp;"couldn'tnbsp;parsenbsp;url";
ifnbsp;(!isset($url['port']))nbsp;{nbsp;$url['port']nbsp;=nbsp;"";nbsp;}
ifnbsp;(!isset($url['query']))nbsp;{nbsp;$url['query']nbsp;=nbsp;"";nbsp;}nbsp;

$encodednbsp;=nbsp;"";nbsp;

whilenbsp;(list($k,$v)nbsp;=nbsp;each($data))nbsp;{
$encodednbsp;.=nbsp;($encodednbsp;?nbsp;""nbsp;:nbsp;"");
$encodednbsp;.=nbsp;rawurlencode($k)."=".rawurlencode($v);
}nbsp;

$fpnbsp;=nbsp;fsockopen($url['host'],nbsp;$url['port']nbsp;?nbsp;$url['port']nbsp;:nbsp;80);
ifnbsp;(!$fp)nbsp;returnnbsp;"Failednbsp;tonbsp;opennbsp;socketnbsp;tonbsp;$url[host]";nbsp;

fputs($fp,nbsp;sprintf("POSTnbsp;%s%s%snbsp;HTTP/1.0n",nbsp;$url['path'],nbsp;$url['query']nbsp;?nbsp;"?"nbsp;:nbsp;"",nbsp;$url['query']));
fputs($fp,nbsp;"Host:nbsp;$url[host]n");
fputs($fp,nbsp;"Content-type:nbsp;application/x-www-form-urlencodedn");
fputs($fp,nbsp;"Content-length:nbsp;"nbsp;.nbsp;strlen($encoded)nbsp;.nbsp;"n");
fputs($fp,nbsp;"Connection:nbsp;closenn");nbsp;

fputs($fp,nbsp;"$encodedn");nbsp;

$linenbsp;=nbsp;fgets($fp,1024);
ifnbsp;(!eregi("^HTTP/1..nbsp;200",nbsp;$line))nbsp;return;nbsp;

$resultsnbsp;=nbsp;"";nbsp;$inheadernbsp;=nbsp;1;
while(!feof($fp))nbsp;{
$linenbsp;=nbsp;fgets($fp,1024);
ifnbsp;($inheadernbsp;nbsp;($linenbsp;==nbsp;"n"nbsp;||nbsp;$linenbsp;==nbsp;"rn"))nbsp;{
$inheadernbsp;=nbsp;0;
}
elseifnbsp;(!$inheader)nbsp;{
$resultsnbsp;.=nbsp;$line;
}
}
fclose($fp);nbsp;

returnnbsp;$results;
}
?gt;
--------------------------------------------------------------------------------------------------
也可以这样nbsp;

lt;?php
$URL="www.mysite.com/test.php";
$chnbsp;=nbsp;curl_init();
curl_setopt($ch,nbsp;CURLOPT_URL,"https://$URL");
curl_setopt($ch,nbsp;CURLOPT_POST,nbsp;1);
curl_setopt($ch,nbsp;CURLOPT_POSTFIELDS,nbsp;"Data1=blahData2=blah");
curl_execnbsp;($ch);
curl_closenbsp;($ch);
?gt;


(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读