Home  >  Article  >  php教程  >  从一个php文件向另一个地址post数据

从一个php文件向另一个地址post数据

WBOY
WBOYOriginal
2016-06-06 19:35:011559browse

从一个php文件向另一个地址post数据 无 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

从一个php文件向另一个地址post数据
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.0/n", $url['path'], $url['query'] ? "?" : "", $url['query']));
	fputs($fp, "Host: $url[host]/n");
	fputs($fp, "Content-type: application/x-www-form-urlencoded/n");
	fputs($fp, "Content-length: " . strlen($encoded) . "/n");
	fputs($fp, "Connection: close/n/n");
	fputs($fp, "$encoded/n");
	$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 == "/r/n")) {$inheader = 0;}elseif (!$inheader) {$results .= $line;}
	}
	fclose($fp);return $results;
}

//  以下是用curl

	$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); 
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