Page 1 sur 1

[R] Return PHP

Posté : lun. 30 mars 2009 18:49
par Pixion
Bonjour à tous,

J'ai bien cherché sur le forum avant de poster, mais je crois que le problème n'a pas été soulevé.

Donc, est-il possible, avec un script AutoIt, d'exécuter un script PhP présent sur un serveur externe (comme un client qui se rendrait sur la page web en question), et de récupérer le retour d'une fonction pour travailler avec, dans mon script ?

Merci.
Romain.

Re: Return PHP

Posté : lun. 30 mars 2009 19:25
par GaRydelaMer
Bonjour

oui c'est tout à fait possible.

Regarde dans la doc et/ou sur le forum:

InetGet()
HTTPRequest.

voir même l'UDF _IE.au3 pour ajouter par exemple une page web dans une GUI.

voila.

Re: Return PHP

Posté : lun. 30 mars 2009 19:49
par Pixion
Ah, j'ai peut-être mal regardé, mais il me semblait que InetGet était seulement pour le téléchargement.

Merci de ta réponse, j'étudie ça tout de suite.

Re: Return PHP

Posté : lun. 30 mars 2009 20:09
par Pixion
Ok donc pour InetGet, soit je n'ai rien compri, soit je n'en ai bel et bien pas besoin.
Par contre, la fonction HTTPRequest semble intéressante.
J'ai trouvé ça sur le net en cherchant mieux sur le forum:

Code : Tout sélectionner

Func HTTPRequest($oMethod, $oURL, $oData = "")
    $oHTTP.Open($oMethod, $oURL, False)
    If $oMethod = "POST" Then $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    $oHTTP.Send($oData)
    Return $oHTTP.ResponseText
EndFunc
Bon déjà, ce n'est pas complet je suppose.
Après, ça fonctionnerai un peu comme ça ?

Code : Tout sélectionner

HTTPRequest("POST", "http://monsite.com/remote.php", "search=XXXXXXXXXXX")
En faite, je veux que mon script s'adresse à une page PHP, afin que celle-ci exécute une requête dans une base de donnée.

Je ne fais pas directement de requête SQL car je ne peux pas me permettre d'installer le Driver ODBC partout. :(

Merci de ton aide.
Romain.

Re: Return PHP

Posté : lun. 30 mars 2009 20:24
par GaRydelaMer
J'ai écris ca moi

Code : Tout sélectionner

#include <INet.au3>

Local $stitre = "Un film & moi"
Local $url = "http://www.allocine.fr/"
Local $html = GetHtml_Source($url & "recherche/?motcle=" & _INetExplorerCapable($sTitre))

ConsoleWrite($html)

Func GetHtml_Source($url)
    Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")

    If Not IsObj($oHTTP) Then Return
;~  Const $HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0
;~  Const $HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 1
;~  Const $WinHttpRequestOption_UserAgentString = 0
;~  Const $WinHttpRequestOption_EscapePercentInURL = 3
    Const $WinHttpRequestOption_EnableRedirects = 6
;~  Const $WinHttpRequestOption_UrlEscapeDisable = 7
;~  Const $WinHttpRequestOption_UrlEscapeDisableQuery = 8
    With $oHTTP
        .Option($WinHttpRequestOption_EnableRedirects) = True
        .Open("GET", $url, False)
        If @error Then Return SetError(1)
        .Send()
        ConsoleWrite("++ GetHtml_Source() " & $url & @LF & @TAB & .Status & " - " & .StatusText & @LF)
    EndWith
    Switch $oHTTP.Status
        Case 200
            Return $oHTTP.ResponseText
        Case Else
            Return SetError(1, $oHTTP.Status, $oHTTP.Status & " - " & $oHTTP.StatusText)
    EndSwitch
EndFunc   ;==>GetHtml_Source