Jump to content
alves077

[Dúvida] Estado do servidor

Recommended Posts

alves077

Boas,

Tenho um script para ver se o servidor está em baixo ou não, só que ele dá-me sempre que esta em baixo, já experimentei por outros sites mas nada..

function statWeb($site, $port){
$fp = @fsockopen($site, $port, $errno, $errstr, 2);
return (!$fp)
}
Depois chamo a função:

por exemplo,

$status_server=starweb("http://www.sapo.pt/",80);
Ele retorna sempre false, já experimentei com outros dominios e nada, se colocar o local 127.0.0.1 dá. Tenho alguma ideia errada na função, posso fazer assim?

Edit: ups.. mistura de versoes..

Obrigado pela atenção,

alves077

Share this post


Link to post
Share on other sites
alves077

Realmente o curl parece melhor, percebi a ideia, agora a implementação, as vezes parece offline, e dá bem, outras retorna 302 mesmo estando em baixo, mas não sei até que ponto não será problema do serivdor, vou continuar analisar...

Share this post


Link to post
Share on other sites
HappyHippyHippo

o código 302 é normal "aparecer" quando estás a receber a resposta de uma cache qualquer a dizer que não ouve alteração, logo deverás usar a informação que te dá ou que tens na cache do próprio browser.

para mais informação sobre esses números : http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
alves077

Hm... não sabia...

Então, sendo assim, como consigo saber se esta abaixo, se ele vai semrpe buscar o que esta em cache do browser, existe a possibilidade de limpar o que está em cache e fazer a conexão de novo? Porque assim ele vai sempre buscar a 1º ligação que fez, digo eu...

Isto é, imaginando que o servidor está on, e ele retorna 302 sempre, como consigo com o 302 se esta em baixo ou não?

Obrigado pela atenção,

alves077

Share this post


Link to post
Share on other sites
HappyHippyHippo

o problema não é a cache do teu browser, mas sim a cache dos routers/gateways/proxy's

e nisso não podes mexer, pois não :D

a maneira mais simples de resolver o teu problema é ter um script no servidor ao qual ditas que não deverá ser guardado em cache e/ou que o tempo de "expiração" dos elementos em cache é 0

em php seria deste género:

<?php
header('Expires: '.gmdate('D, d M Y H:i:s').'GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
?>

agora, sempre que pedires um pedido a este script, sabes que nos cabeçalhos HTTP irá informação que não deverá ser guardado em cache pelos routes/gateways/proxy's

agora é só fazer a verificação a este script ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.