[R] Return PHP

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Pixion
Niveau 1
Niveau 1
Messages : 6
Enregistré le : ven. 20 févr. 2009 10:23
Status : Hors ligne

[R] Return PHP

#1

Message 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.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: Return PHP

#2

Message 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.
Pixion
Niveau 1
Niveau 1
Messages : 6
Enregistré le : ven. 20 févr. 2009 10:23
Status : Hors ligne

Re: Return PHP

#3

Message 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.
Pixion
Niveau 1
Niveau 1
Messages : 6
Enregistré le : ven. 20 févr. 2009 10:23
Status : Hors ligne

Re: Return PHP

#4

Message 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.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: Return PHP

#5

Message 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
 
Répondre