uc_client/client.php
function uc_fopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ip = '', $timeout = 15, $block = TRUE) { $return = ''; $matches = parse_url($url); !isset($matches['host']) && $matches['host'] = ''; !isset($matches['path']) && $matches['path'] = ''; !isset($matches['query']) && $matches['query'] = ''; !isset($matches['port']) && $matches['port'] = ''; $host = $matches['host']; $path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/'; $port = !empty($matches['port']) ? $matches['port'] : 80; switch ($matches['scheme']) { case 'https': $scheme = 'ssl://'; $port = 443; break; case 'http': default: $scheme = ''; $port = 80; } if($post) { $out = "POST $path HTTP/1.0/r/n"; $out .= "Accept: */*/r/n"; //$out .= "Referer: $boardurl/r/n"; $out .= "Accept-Language: zh-cn/r/n"; $out .= "Content-Type: application/x-www-form-urlencoded/r/n"; $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]/r/n"; $out .= "Host: $host/r/n"; $out .= 'Content-Length: '.strlen($post)."/r/n"; $out .= "Connection: Close/r/n"; $out .= "Cache-Control: no-cache/r/n"; $out .= "Cookie: $cookie/r/n/r/n"; $out .= $post; } else { $out = "GET $path HTTP/1.0/r/n"; $out .= "Accept: */*/r/n"; //$out .= "Referer: $boardurl/r/n"; $out .= "Accept-Language: zh-cn/r/n"; $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]/r/n"; $out .= "Host: $host/r/n"; $out .= "Connection: Close/r/n"; $out .= "Cookie: $cookie/r/n/r/n"; } if(function_exists('fsockopen')) {// $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); $fp = @fsockopen($scheme. $host, $port, $errno, $errstr, $timeout); } elseif (function_exists('pfsockopen')) {// $fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); $fp = @pfsockopen($scheme. $host, $port, $errno, $errstr, $timeout); } else { $fp = false; } if(!$fp) { return ''; } else { stream_set_blocking($fp, $block); stream_set_timeout($fp, $timeout); @fwrite($fp, $out); $status = stream_get_meta_data($fp); if(!$status['timed_out']) { while (!feof($fp)) { if(($header = @fgets($fp)) && ($header == "/r/n" || $header == "/n")) { break; } } $stop = false; while(!feof($fp) && !$stop) { $data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit)); $return .= $data; if($limit) { $limit -= strlen($data); $stop = $limit <= 0; } } } @fclose($fp); return $return; }}uc_client/model/misc.phpfunction dfopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE , $ip = '', $timeout = 15, $block = TRUE, $encodetype = 'URLENCODE') { //error_log("[uc_client]/r/nurl: $url/r/npost: $post/r/n/r/n", 3, 'c:/log/php_fopen.txt'); $return = ''; $matches = parse_url($url); $host = $matches['host']; $path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/'; $port = !empty($matches['port']) ? $matches['port'] : 80; switch ($matches['scheme']) { case 'https': $scheme = 'ssl://'; $port = 443; break; case 'http': default: $scheme = ''; $port = 80; } if($post) { $out = "POST $path HTTP/1.0/r/n"; $out .= "Accept: */*/r/n"; //$out .= "Referer: $boardurl/r/n"; $out .= "Accept-Language: zh-cn/r/n"; $boundary = $encodetype == 'URLENCODE' ? '' : ';'.substr($post, 0, trim(strpos($post, "/n"))); $out .= $encodetype == 'URLENCODE' ? "Content-Type: application/x-www-form-urlencoded/r/n" : "Content-Type: multipart/form-data$boundary/r/n"; $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]/r/n"; $out .= "Host: $host/r/n"; $out .= 'Content-Length: '.strlen($post)."/r/n"; $out .= "Connection: Close/r/n"; $out .= "Cache-Control: no-cache/r/n"; $out .= "Cookie: $cookie/r/n/r/n"; $out .= $post; } else { $out = "GET $path HTTP/1.0/r/n"; $out .= "Accept: */*/r/n"; //$out .= "Referer: $boardurl/r/n"; $out .= "Accept-Language: zh-cn/r/n"; $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]/r/n"; $out .= "Host: $host/r/n"; $out .= "Connection: Close/r/n"; $out .= "Cookie: $cookie/r/n/r/n"; } if(function_exists('fsockopen')) {// $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); $fp = @fsockopen($scheme. $host, $port, $errno, $errstr, $timeout); } elseif (function_exists('pfsockopen')) {// $fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); $fp = @pfsockopen($scheme. $host, $port, $errno, $errstr, $timeout); } else { $fp = false; } if(!$fp) { return ''; } else { stream_set_blocking($fp, $block); stream_set_timeout($fp, $timeout); @fwrite($fp, $out); $status = stream_get_meta_data($fp); if(!$status['timed_out']) { while (!feof($fp)) { if(($header = @fgets($fp)) && ($header == "/r/n" || $header == "/n")) { break; } } $stop = false; while(!feof($fp) && !$stop) { $data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit)); $return .= $data; if($limit) { $limit -= strlen($data); $stop = $limit <= 0; } } } @fclose($fp); return $return; } }uc_server/install/func.inc.phpfunction dfopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ip = '', $timeout = 15, $block = TRUE) { $return = ''; $matches = parse_url($url); $host = $matches['host']; $path = $matches['path'] ? $matches['path'].(isset($matches['query']) && $matches['query'] ? '?'.$matches['query'] : '') : '/'; $port = !empty($matches['port']) ? $matches['port'] : 80; switch ($matches['scheme']) { case 'https': $scheme = 'ssl://'; $port = 443; break; case 'http': default: $scheme = ''; $port = 80; } if($post) { $out = "POST $path HTTP/1.0/r/n"; $out .= "Accept: */*/r/n"; //$out .= "Referer: $boardurl/r/n"; $out .= "Accept-Language: zh-cn/r/n"; $out .= "Content-Type: application/x-www-form-urlencoded/r/n"; $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]/r/n"; $out .= "Host: $host/r/n"; $out .= 'Content-Length: '.strlen($post)."/r/n"; $out .= "Connection: Close/r/n"; $out .= "Cache-Control: no-cache/r/n"; $out .= "Cookie: $cookie/r/n/r/n"; $out .= $post; } else { $out = "GET $path HTTP/1.0/r/n"; $out .= "Accept: */*/r/n"; //$out .= "Referer: $boardurl/r/n"; $out .= "Accept-Language: zh-cn/r/n"; $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]/r/n"; $out .= "Host: $host/r/n"; $out .= "Connection: Close/r/n"; $out .= "Cookie: $cookie/r/n/r/n"; } if(function_exists('fsockopen')) {// $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); $fp = @fsockopen($scheme. $host, $port, $errno, $errstr, $timeout); } elseif (function_exists('pfsockopen')) {// $fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); $fp = @pfsockopen($scheme. $host, $port, $errno, $errstr, $timeout); } else { $fp = false; } if(!$fp) { return ''; } else { stream_set_blocking($fp, $block); stream_set_timeout($fp, $timeout); @fwrite($fp, $out); $status = stream_get_meta_data($fp); if(!$status['timed_out']) { while (!feof($fp)) { if(($header = @fgets($fp)) && ($header == "/r/n" || $header == "/n")) { break; } } $stop = false; while(!feof($fp) && !$stop) { $data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit)); $return .= $data; if($limit) { $limit -= strlen($data); $stop = $limit <= 0; } } } @fclose($fp); return $return; }}uc_server/model/misc.phpfunction dfopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE , $ip = '', $timeout = 15, $block = TRUE, $encodetype = 'URLENCODE') { //error_log("[uc_server]/r/nurl: $url/r/npost: $post/r/n/r/n", 3, 'c:/log/php_fopen.txt'); $return = ''; $matches = parse_url($url); $host = $matches['host']; $path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/'; $port = !empty($matches['port']) ? $matches['port'] : 80; switch ($matches['scheme']) { case 'https': $scheme = 'ssl://'; $port = 443; break; case 'http': default: $scheme = ''; $port = 80; } if($post) { $out = "POST $path HTTP/1.0/r/n"; $out .= "Accept: */*/r/n"; //$out .= "Referer: $boardurl/r/n"; $out .= "Accept-Language: zh-cn/r/n"; $boundary = $encodetype == 'URLENCODE' ? '' : ';'.substr($post, 0, trim(strpos($post, "/n"))); $out .= $encodetype == 'URLENCODE' ? "Content-Type: application/x-www-form-urlencoded/r/n" : "Content-Type: multipart/form-data$boundary/r/n"; $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]/r/n"; $out .= "Host: $host:$port/r/n"; $out .= 'Content-Length: '.strlen($post)."/r/n"; $out .= "Connection: Close/r/n"; $out .= "Cache-Control: no-cache/r/n"; $out .= "Cookie: $cookie/r/n/r/n"; $out .= $post; } else { $out = "GET $path HTTP/1.0/r/n"; $out .= "Accept: */*/r/n"; //$out .= "Referer: $boardurl/r/n"; $out .= "Accept-Language: zh-cn/r/n"; $out .= "User-Agent: $_SERVER[HTTP_USER_AGENT]/r/n"; $out .= "Host: $host:$port/r/n"; $out .= "Connection: Close/r/n"; $out .= "Cookie: $cookie/r/n/r/n"; } if(function_exists('fsockopen')) {// $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); $fp = @fsockopen($scheme. $host, $port, $errno, $errstr, $timeout); } elseif (function_exists('pfsockopen')) {// $fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); $fp = @pfsockopen($scheme. $host, $port, $errno, $errstr, $timeout); } else { $fp = false; } if(!$fp) { return ''; } else { stream_set_blocking($fp, $block); stream_set_timeout($fp, $timeout); @fwrite($fp, $out); $status = stream_get_meta_data($fp); if(!$status['timed_out']) { while (!feof($fp)) { if(($header = @fgets($fp)) && ($header == "/r/n" || $header == "/n")) { break; } } $stop = false; while(!feof($fp) && !$stop) { $data = fread($fp, ($limit == 0 || $limit > 8192 ? 8192 : $limit)); $return .= $data; if($limit) { $limit -= strlen($data); $stop = $limit <= 0; } } } @fclose($fp); return $return; } }
新闻热点
疑难解答