Home  >  Article  >  Backend Development  >  Detailed explanation of post submitted by shockwave flash object download via php socket

Detailed explanation of post submitted by shockwave flash object download via php socket

WBOY
WBOYOriginal
2016-07-29 08:38:261156browse

/* 
** 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); 

$port = $url['port'] ? $url['port'] : 80; 
$fp = fsockopen($url['host'], $port, $errno, $errstr); 
if (!$fp) return "Failed to open socket to $url[host] $port ERROR: $errno - $errstr"; 
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; 
}/* end function PostToHost */ 
?>

以上就介绍了shockwave flash object下载 php socket方式提交的post详解,包括了shockwave flash object下载方面的内容,希望对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