alves077 Posted December 26, 2012 at 07:46 PM Report #488497 Posted December 26, 2012 at 07:46 PM 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
HappyHippyHippo Posted December 26, 2012 at 07:50 PM Report #488498 Posted December 26, 2012 at 07:50 PM afinal é statWeb ou é GetServerStatus ??? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
LivingForFun Posted December 26, 2012 at 08:02 PM Report #488500 Posted December 26, 2012 at 08:02 PM Já experimentaste fazer com curl? http://poweruser.aeiou.pt/blog/uptime-website-pingdom/
alves077 Posted December 26, 2012 at 11:32 PM Author Report #488538 Posted December 26, 2012 at 11:32 PM 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...
HappyHippyHippo Posted December 27, 2012 at 07:27 AM Report #488564 Posted December 27, 2012 at 07:27 AM 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 Portugol Plus
alves077 Posted December 27, 2012 at 02:13 PM Author Report #488598 Posted December 27, 2012 at 02:13 PM 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
HappyHippyHippo Posted December 27, 2012 at 03:10 PM Report #488604 Posted December 27, 2012 at 03:10 PM 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 😄 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 Portugol Plus
LivingForFun Posted December 28, 2012 at 12:54 AM Report #488758 Posted December 28, 2012 at 12:54 AM (edited) Ou então do lado do script que fazes o pedido metes um timestamp como parâmetro à frente. O URL será sempre diferente, e portanto nunca te será servido cache. p. ex. http://www.portugal-a-programar.pt/?t=<timestamp> Edited December 28, 2012 at 12:55 AM by LivingForFun
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now