Home >php教程 >PHP开发 >How to post data from a php file to another address without using forms and hidden variables

How to post data from a php file to another address without using forms and hidden variables

高洛峰
高洛峰Original
2016-12-23 16:30:331263browse

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

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.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; 

?> 
-------------------------------------------------------------------------------------------------- 
也可以这样  

$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文件向另一个地址post数据,不用表单和隐藏的变量的相关文章请关注PHP中文网!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn