首页 > 学院 > 开发设计 > 正文

discuz

2019-11-08 01:49:29
字体:
来源:转载
供稿:网友

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.php

function 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.php

function 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.php

function 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;		}	}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表