ホームページ >php教程 >php手册 >PHP サンプル チュートリアル: 天気予報泥棒の PHP コード

PHP サンプル チュートリアル: 天気予報泥棒の PHP コード

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-21 08:56:441606ブラウズ

PHP 天気泥棒プログラムを作成する

/***
天気予報
***/
function readAll($location)
{
$MAX_RETRY_NUM = 3;
if(preg_match("/(http ://)?([^/:]+)(:d{1,5})?(/.+)?/", $location, $url))
{
list(,, $host,$port,$path) = $url;
$port = preg_replace("/:/", "", $port);
$port = strlen($port) ? $port : 80;
$path = strlen($path) ? $path : "/";
$request = "GET $path HTTP/1.0rn";
$request .= "ホスト: $hostrn";
$request .= "Accept: */* rn";
$request .= "接続: 近づく";
$request .= "ユーザーエージェント: superspice"s BOTrnrn";
$retry = 0;
$do = false;
do
{
if(@!$socket =fsockopen($host, $port, &$errMsg, &$errCode ))
{
return false;
}
fwrite($socket, $request);
$flag = true;
$header = "";
$body = "";
while(!feof($socket))
{
$line = fgets($socket, 128);
if($flag)
{
if(trim(chop($line)) == "")
{
$flag = false;
}
else
{
$header .= $line;
}
else
{
$body .= $line;
}
}
if(preg_match("/Content-Length: (d+)/", $header, $out))
{
$header_length = $out[1];
if($header_length != strlen($body))
{
$do = true;
}
else
{
$ do = false;
}
}
if(is_resource($socket))
{
fclose($socket);
}
$retry ++;
}while($do && $retry<$MAX_RETRY_NUM);
}
return $body;
}
function get_weather()
{
$TqUrl="http:/ /www.ttqx.com.cn/forecast/area_weather.asp?city_name=合肥&zhou=yz";
$VaX1Tem=readAll($TqUrl);
if(!$VaX1Tem)
{
return false;
}
settype($ArrayTq,"array");
$ArrayTq=explode("",$VaX1Tem);
$ArrayTq=explode("",$ArrayTq[1]);
$flash =explode(" $flash = " $flash =explode("",$flash);
$flash = $flash[0]."
";
$pattern = array("/images/weather/i","/WIDTH="65" HEIGHT="70"/i");
$replace = array("http://www.ttqx.com. cn/forecast/images/weather","WIDTH="51" HEIGHT="55"");
$flash = preg_replace($pattern,$replace,$flash);
//天气
$ArrayTqTem2=explode("",$ArrayTq[0]);
$ArrayTqTem2=explode("",$ArrayTqTem2[1]) ;
//$ArrayTqTem2=explode("",$ArrayTqTem2[0]);
$ArrayTqTem2=$ArrayTqTem2[0];
//风力
$ArrayTqTem3=explode ("",$ArrayTq[0]);
$ArrayTqTem3=explode("",$ArrayTqTem3[2]);
//$ArrayTqTem3=explode("",$ArrayTqTem3[0]);
$ArrayTqTem3=$ArrayTqTem3[0];
//温度
$ArrayTqTem4=explode("< tr>",$ArrayTq[0]);
$ArrayTqTem4=explode("",$ArrayTqTem4[3]);
//$ArrayTqTem4 =explode("",$ArrayTqTem4[0]);
$ArrayTqTem4=$ArrayTqTem4[0];
if( !$ArrayTqTem2 または !$ArrayTqTem3 または !$ArrayTqTem4)
{
return false;
}
//$TqVar=$ArrayTqTem2.",".$ArrayTqTem3." $weather[0]=$flash;
$weather[1]=$ArrayTqTem2;
$weather[2]=$ArrayTqTem3;
$weather[ 3]=$ArrayTqTem4;
return $weather;
}
$weather = get_weather();
?>

上記はphpファイルです。もちろんechoが無いと正しく表示されません

error_reporting(0);
include_once ("../include/weather.php");
?>




天気予報




  • < ;/li>





  • 声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。