如何从一个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; (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |