復制代碼 代碼如下:
 
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; 
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"; 
} 
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); 
if(!$fp) { 
return '';//note $errstr : $errno /r/n 
} 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; 
} 
} 
復制代碼 代碼如下:
 
function uc_fopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ip = '', $timeout = 15, $block = TRUE) { 
$return = ''; 
$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
if($post) { 
curl_setopt($curl, CURLOPT_POST, 1); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $post); 
} 
if($cookie) { 
curl_setopt($curl, CURLOPT_COOKIE, $cookie); 
} 
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); 
curl_setopt($curl, CURLOPT_HEADER, 0); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$return = curl_exec($curl); 
if (curl_errno($curl)) { 
echo '<pre><b>錯誤:</b><br />'.curl_error($curl); 
} 
curl_close($curl); 
return $return; 
} 
新聞熱點
疑難解答