2012-03-21 4 views
2

우리는 원격 서비스에 의존하는 응용 프로그램을 가지고 있습니다. 원격 웹 서버가 다운되었거나 (유지 보수 또는 glithes로 인해) 적절한 메시지를 표시하는 코드를 구현하도록 요청 받았습니다.유지 관리 페이지로 리디렉션 될 수 있지만 원격 서버가 유지 관리를 위해 작동하지 않는지 테스트하는 방법은 무엇입니까?

문제는 유지 보수를 위해 리모컨이 작동하지 않을 때 대개 다른 페이지로 리디렉션된다는 것입니다. 그렇다면 특정 페이지가 거짓 페이지로 리다이렉트되는 것과 달리 특정 URL이 실행되고 있는지를 알 수있는 강력한 기능을 PHP에서 구현하는 방법은 무엇입니까?

당신은

+1

들이 응답에 다른 헤더를 전송 할

CURLINFO_HTTP_CODE : 이것은 예를 들어 컬 가능합니다? 그렇지 않으면 응답의 본문을 확인하는 유일한 방법입니다. – Gordon

+0

리다이렉션은 http 30something이며, OK는 200입니다. – miki

+0

[PHP : 사이트가 다운되어 있는지 확인] 중복 가능 (http://stackoverflow.com/questions/9144825/php-check-if-a-site-is- 하위) – hakre

답변

1

그냥 HTTP 반환 코드를 확인하십시오. http://de2.php.net/manual/en/function.curl-getinfo.php

<?php 
$success = 0; 
// create a new cURL resource 
$ch = curl_init(); 

// set URL and other appropriate options 
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 

// grab URL and pass it to the browser 
curl_exec($ch); 

// Check if any error occured 
if(!curl_errno($ch)) 
{ 
if(curl_getinfo($c, CURLINFO_HTTP_CODE) === 200) 
    $success = 1; 
} 

// close cURL resource, and free up system resources 
curl_close($ch); 
?> 
관련 문제