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

高洛峰
Release: 2016-12-23 16:30:33
Original
1216 people have browsed it

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

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中文网!

Related labels:
source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template