>백엔드 개발 >PHP 튜토리얼 >컬 - PHP는 웹사이트를 열 수 있는지 여부를 결정합니다.

컬 - PHP는 웹사이트를 열 수 있는지 여부를 결정합니다.

WBOY
WBOY원래의
2016-09-19 09:16:281884검색

웹사이트를 열 수 있는지 확인하고 싶습니다
1. 먼저 PHP를 사용하여 웹사이트에 ping을 수행하여 ping이 가능한지 확인합니다
2. http 반환이 200K인지 여부
3. 파일 내용에 html 태그가 있습니다
이제 주로 세 번째 단계를 구현하는 방법을 모르겠습니다. 직접 file_get_content를 수행한 다음 이 파일에 html이 있는지 확인합니까?
strpos를 사용합니까?

답글 내용:

웹사이트를 열 수 있는지 확인하고 싶습니다
1. 먼저 PHP를 사용하여 웹사이트에 ping을 수행하여 ping이 가능한지 확인합니다
2. http 반환이 200K인지 여부
3. 파일 내용에 html 태그가 있습니다
이제 주로 세 번째 단계를 구현하는 방법을 모르겠습니다. 직접 file_get_content를 수행한 다음 이 파일에 html이 있는지 확인합니까?
strpos를 사용합니까?

<code><?php

$url = 'http://www.baidu.com/';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);  // $resp = curl_exec($ch);
$curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($curl_code == 200) {
    echo '连接成功,状态码:' . $curl_code;
} else {
    echo '连接失败,状态码:' . $curl_code;
}</code>

302 같은 점프도 접속 성공으로 간주된다면 판정에 추가할 수도 있습니다.

<code>if ($curl_code == 200 || $curl_code == 302) {
    echo '连接成功,状态码:' . $curl_code;
} else {
    echo '连接失败,状态码:' . $curl_code;
}</code>

http://www.baidu.com/은 200을 반환하고,
http://www.baidu.com/xxx은 302를 반환합니다. 실제 액세스 중에 http://www.baidu.com/xxx는 이렇게 https://www.baidu.com/search/error.html으로 점프합니다.

파일 내용을 먼저 받아보시고 html 태그가 있는지 판단하시면 될 것 같아요! 걱정하실 것 없습니다 ^_^

curl 한 번 방문을 시뮬레이션하고 반환 값으로 판단합니다.

curl은 http 상태가 200인지 확인합니다

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