Heim  >  Artikel  >  php教程  >  So posten Sie Daten aus einer PHP-Datei an eine andere Adresse, ohne Formulare und versteckte Variablen zu verwenden

So posten Sie Daten aus einer PHP-Datei an eine andere Adresse, ohne Formulare und versteckte Variablen zu verwenden

高洛峰
高洛峰Original
2016-12-23 16:30:331196Durchsuche

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

function posttohost($url, $data) { 
$url = parse_url($url); 
if (!$url) return "url konnte nicht geparst werden"; 
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 "Socket konnte nicht für $url[Host] geöffnet werden";  

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, "Verbindung: 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);  

$results zurückgeben; 

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn