OVH Cloud OVH Cloud

test une URL en VBS

4 réponses
Avatar
truc
Voila je cherche à verifier qu'une url se charge bien.
j'arrive à lancer la page mais impossible de savoir s'il y a un code erreur.

j'utilise le script suivant par contre je n'ai pas vu d'option pour verifier
la sortie.

Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "https://webmail.canal-plus.com/exchange"
ie.visible = True

Si quelqu'un a une autre piste...

Merci

4 réponses

Avatar
Méta-MCI
Bonsoir !

Il me semble que l'on peut utiliser "if ie.Busy==True:" (syntaxe Python)

Mais, cela dira simplement si IE a terminé ou non. Dans le cas d'une page
introuvable, chargée avec erreur, serveur sans réponse, etc. IE aura
terminé, mais on n'aura pas la page.

Un autre cas, c'est la page chargée, mais pas encore finie de se mettre en
place (exemple, avec du jscript contenant des setTimer).

Néanmoins, dans les cas courant, "Busy" me suffit.

@-salutations

Michel Claveau
Avatar
Jacques Barathon [MS]
"truc" wrote in message
news:
Voila je cherche à verifier qu'une url se charge bien.
j'arrive à lancer la page mais impossible de savoir s'il y a un code
erreur.

j'utilise le script suivant par contre je n'ai pas vu d'option pour
verifier
la sortie.

Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "https://webmail.canal-plus.com/exchange"
ie.visible = True


Bon je sais, ce n'est pas du vbscript, mais il faut bien que je fasse un peu
de promotion pour Monad aujourd'hui :-). Donc, voici une fonction sous Monad
qui me retourne les infos sur une URL:

--- couper ici ---
function test-url {
param (
[string]$url = "http://localhost",
[int]$timeout = 10000
)

$CurrErrorActionPreference=$ErrorActionPreference
$ErrorActionPreference="SilentlyContinue"
trap [Exception] {
"$url is not available"}
$myrequest = [system.net.webrequest]::create($url)
$myrequest.timeout = $timeout
$myrequest.getresponse()
$ErrorActionPreference=$CurrErrorActionPreference
}
--- couper ici ---

L'essentiel du travail est réalisé par les dernières lignes qui manipulent
$myrequest, une instance de la classe system.net.webrequest. Cette classe
est disponible dans le framework .Net. Je ne suis pas sûr que les classes du
framework soient utilisables en vbscript, peut-être en jscript? Sinon, il
est toujours temps de passer à Monad! :-)

Si l'on passe en paramètre une URL qui n'existe pas (par exemple: test-url
"http://www.monURLbidon.com") la ligne "trap [exception]" capture cette
erreur et permet de la gérer comme on veut. Ici je ne fais qu'afficher un
message d'erreur "http://www.monURLbidon.com is not available".

Si l'URL existe, je peux ne vouloir que le StatusCode (OK ou autre) en
remplaçant l'avant-dernière ligne par celle-ci:

($myrequest.getresponse()).StatusCode

Jacques

Avatar
jbongran
truc wrote:
Voila je cherche à verifier qu'une url se charge bien.
j'arrive à lancer la page mais impossible de savoir s'il y a un code
erreur.

j'utilise le script suivant par contre je n'ai pas vu d'option pour
verifier la sortie.

Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "https://webmail.canal-plus.com/exchange"
ie.visible = True

Si quelqu'un a une autre piste...

Merci


J'ai un bout de code qui n'utilise pas IE et qui ressemble à ça si ça peut
aider:
Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
' Ou, pour version 3.0 du XMLHTTP:
' Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.Open "GET", "https://webmail.canal-plus.com/exchange/", False
objXMLHTTP.Send
If objXMLHTTP.status = 200 Then 'pas d'erreur

Avatar
bayosky
salut

j'ai testé avec ça :
'
******************************************************************************************
AdrUrl = InputBox( "Url à lancer","Test
Adresse","http://toto.free.fr/parla.htm")

Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open "GET", adrUrl, False
objXMLHTTP.Send

If objXMLHTTP.status = 200 Then
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate AdrUrl
IE.visible = True
else
Msgbox " ça ne marche pas"
end if

Set ie=Nothing
set objXMLHTTP = Nothing
'
******************************************************************************************

et ça marche... la page ne s'ouvre que si l'url a été validée ...

pas mal ..... ça peut servir ...

HB