Heim > php教程 > PHP开发 > Hauptteil

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

高洛峰
Freigeben: 2016-12-23 16:30:33
Original
1213 Leute haben es durchsucht

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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage