>  기사  >  백엔드 개발  >  PHP 함수 fsockopen은 Sina 일기 예보를 가져옵니다.

PHP 함수 fsockopen은 Sina 일기 예보를 가져옵니다.

巴扎黑
巴扎黑원래의
2016-11-24 14:48:401135검색

Sina 일기예보 웹페이지에서 도시의 현재 날짜 정보를 가져옵니다.
두 개의 파일이 있습니다.
tianqi.html: 드롭다운 메뉴를 사용하여 일기예보 정보를 가져오는 웹페이지로 이동합니다. 플로팅 프레임에 정보를 반환합니다.



;center> ="300" height="70" name="frame" src="get_tianqi.php" frameborder="1">


html>

get_tianqi.php: 일기예보 정보 얻기
/* 이 프로그램은 Sina의 날씨 페이지 http://php.weather.sina에서 가져온 것입니다. com.cn/search.php?city=*/
ob_start(); //출력 버퍼링 시작
function request_url($url,$method='POST') {
$url = pars_url($url); //url 주소를 구문 분석하여 호스트, 경로, 포트, 쿼리 등을 얻습니다.
if (!$url) return "url을 구문 분석할 수 없습니다."
if (!isset ($url['port'])) { $url['port'] = ""; }
if (!isset($url['query'])) { $url['query'] = " "; }
//서버에 연결
$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80);
if (!$fp) return "Cannot connect".$url['host']."Server"
//요청 보내기
fputs($fp, sprintf("$method %s%s%s HTTP /1.0n", $url['path'], $url['query'] ? "?" : "", $url['query']));
fputs($fp, "호스트: $ url[host]n");
fputs($fp, "콘텐츠 유형: application/x-www-form-urlencodedn");
fputs($fp, "연결: closenn");
//요청을 받은 후 반환된 내용
$line = fgets($fp,1024)
if (!eregi("^HTTP/1..200", $line)) return; 🎜> $results = "";
while(!feof($fp)) {
$line = fgets($fp,1024);
$results .= $line; 🎜> fclose($fp);
return $results;
}
//다른 웹페이지에서 보낸 URL 가져오기(쿼리 문자열 포함)
if (!$_REQUEST['url'] ) {
echo "URL을 추가하세요";
exit
}else{
$url=$_REQUEST['url']

$content = request_url($url); //요청된 웹페이지 콘텐츠 가져오기

$start=strpos($content,"") //날씨 가져오기 예측 차단 섹션
$end=strpos($content,"");$len=$end-$start
$b=substr( $ content,$start,$len); //지정된 콘텐츠 가져오기
//위 클립에서 도시의 오늘 일기예보 클립 가져오기
$sub_start=strpos($b,"
");
$sub_end=strpos($b,"
")
$len2=$sub_end-$sub_start
$ c= substr($b,$sub_start,$len2);
$d=split("n",$c); //줄바꿈 문자 제거
//print_r($d); "";
foreach ($d as $key=>$value){
$value=strip_tags($value) //html 태그 제거
$e.=$값; 
if ($key==2) { 
   $e.="
"; 


에코 $e; 
ob_end_flush(); 
?>  
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.