PHP
·
发表于 5年以前
·
阅读量:8305
*½¨1: ÓÃfile_get_contents ÒÔget½Ê½»ñÈ¡ÄÚÈÝ£º
<?php
$url='http://www.jb51.net/';
$html = file_get_contents($url);
echo $html;
?>
*½¨2: ÓÃfopen´o¿ªurl, ÒÔget½Ê½»ñÈ¡ÄÚÈÝ£º
<?php
$fp = fopen($url, ¡®r');
stream_get_meta_data($fp);
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
echo ¡°url body: $result¡±;
fclose($fp);
?>
*½¨3£ºÓÃfile_get_contentsº¯Êý,ÒÔpost½Ê½»ñÈ¡url
<?php
$data = array (¡®foo' => ¡®bar');
$data = http_build_query($data);
$opts = array (
¡®http' => array (
¡®method' => ¡®POST',
¡®header'=> ¡°Content-type: application/x-www-form-urlencodedrn¡± .
¡°Content-Length: ¡± . strlen($data) . ¡°rn¡±,
¡®content' => $data
)
);
$context = stream_context_create($opts);
$html = file_get_contents(¡®http://localhost/e/admin/test.html', false, $context);
echo $html;
?>
*½¨4£ºÓÃfsockopenº¯Êý´o¿ªurl£¬ÒÔget½Ê½»ñÈ¡ÍeÕuµÄÊý¾Ý£¬°uÀ¨headerºÍbody,fsockopenÐeÒª PHP.ini ÖÐ allow_url_fopen Ñ¡Ïi¿ªÆo
<?php
function get_url ($url,$cookie=false)
{
$url = parse_url($url);
$query = $url[path].¡±?¡±.$url[query];
echo ¡°Query:¡±.$query;
$fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30);
if (!$fp) {
return false;
} else {
$request = ¡°GET $query HTTP/1.1rn¡±;
$request .= ¡°Host: $url[host]rn¡±;
$request .= ¡°Connection: Closern¡±;
if($cookie) $request.=¡±Cookie: $cookien¡±;
$request.=¡±rn¡±;
fwrite($fp,$request);
while(!@feof($fp)) {
$result .= @fgets($fp, 1024);
}
fclose($fp);
return $result;
}
}
//»ñÈ¡urlµÄhtml²¿*Ö£¬È¥µoheader
function GetUrlHTML($url,$cookie=false)
{
$rowdata = get_url($url,$cookie);
if($rowdata)
{
$body= stristr($rowdata,¡±rnrn¡±);
$body=substr($body,4,strlen($body));
return $body;
}
return false;
}
?>
*½¨5£ºÓÃfsockopenº¯Êý´o¿ªurl£¬ÒÔPOST½Ê½»ñÈ¡ÍeÕuµÄÊý¾Ý£¬°uÀ¨headerºÍbody
<?php
function HTTP_Post($URL,$data,$cookie, $referrer=¡±")
{
// parsing the given URL
$URL_Info=parse_url($URL);
// Building referrer
if($referrer==¡±") // if not given use this script as referrer
$referrer=¡±111¡a;
// making string from $data
foreach($data as $key=>$value)
$values[]=¡±$key=¡±.urlencode($value);
$data_string=implode(¡°&¡±,$values);
// Find out which port is needed ¨C if not given use standard (=80)
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80;
// building POST-request:
$request.=¡±POST ¡°.$URL_Info["path"].¡± HTTP/1.1n¡±;
$request.=¡±Host: ¡°.$URL_Info["host"].¡±n¡±;
$request.=¡±Referer: $referern¡±;
$request.=¡±Content-type: application/x-www-form-urlencodedn¡±;
$request.=¡±Content-length: ¡°.strlen($data_string).¡±n¡±;
$request.=¡±Connection: closen¡±;
$request.=¡±Cookie: $cookien¡±;
$request.=¡±n¡±;
$request.=$data_string.¡±n¡±;
$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
fclose($fp);
return $result;
}
?>
*½¨6:ʹÓÃcurl¿a£¬Ê¹ÓÃcurl¿a֮ǰ£¬¿ÉÄÜÐeÒª²e¿´Ò»ÏÂphp.iniÊÇñÒѾ´o¿ªÁËcurlÀ(C)Õ¹
<?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, ¡®http://www.jb51.net/');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>