xampp (Software) und WinHttp (UDF)

  • Hallo AutoIt Comunity!
    Kurz und bündig: Ich habe von xampp die Apache aktiviert um lokal am Rechner php Seiten auszuführen.
    Diese php Seite möchte ich nun mit WinHttp ansprechen. Allerdings will das nicht richtig.

    €dit: Achja, ich habe vergessen mitzuteilen was mein Problem ist. Ich bekomme keine Rückmeldung der Seite... Aber @error Abfrage hat auch nichts ergeben.

    Es gibt 2 Möglichkeiten:
    1.: Ich mache etwas falsch...
    2.: Es ist nicht möglich.

    Ich vermute mal das Punkt 1 zutreffend ist. Daher auch die Frage.
    Zudem glaube ich, dass das Problem in Zeile 11 oder 15 liegen könnte.
    Kann sein das ich einen falschen Server oder ein falsches Request verwende.
    --> Komme aber nicht auf die richtige Lösung...


    Hier der Sourcecode der php Seite:

    PHP
    if (isset($_POST['update'])) {echo 'True';}

    Und hier das Script von meinen WinHttp versuch:

    [autoit]

    #include <WinHttp.au3>
    Opt('MustDeclareVars', 1)

    [/autoit][autoit][/autoit][autoit]

    Global $Http_Host, $Http_Agent, $Http_Connect, $POST, $Http_Request, _
    $HTML

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ; ++++++++++ +++++++++ ++++++++ +++++++ ++++++ +++++ ++++ +++ ++ +

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $Http_Host = 'localhost'
    $Http_Agent = _WinHttpOpen('Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5')
    $Http_Connect = _WinHttpOpen($Http_Agent, $Http_Host)

    [/autoit][autoit][/autoit][autoit]

    $POST = 'update=true'
    $Http_Request = _WinHttpOpenRequest($Http_Connect, 'POST', '\user\index.php', 'HTTP/1.1', $Http_Host)
    _WinHttpSendRequest($Http_Request, 'Content-Type: application/x-www-form-urlencoded' & @CRLF, $POST)
    _WinHttpReceiveResponse($Http_Request)

    [/autoit][autoit][/autoit][autoit]

    Do
    $HTML &= _WinHttpReadData($Http_Request)
    Until @error
    _WinHttpCloseHandle($Http_Request)

    [/autoit][autoit][/autoit][autoit]

    ConsoleWrite($HTML & @CRLF)

    [/autoit]


    Hintergrund:
    Ich arbeite an ein Onlinegame und möchte eine php Seite für die verwaltung meines FTP Servers verwenden. Und um zu testen ob meine geschriebene php Scripte funktionieren, führe ich sie mit hilfe von xampp aus. Ich kann unmöglich bei jeder änderung meine php Seite auf meinen FTP Server hochladen. Internet ist zu langsam dafür. Besonders wenn das Script wächst dauert es immer eine ewigkeit. Ich hoffe ihr könnt mir hier weiterhelfen.


    €dit 2:
    Es wurde eine Lösung gefunden!
    Ich habe in Zeile 13 _WinHttpOpen() mit _WinHttpConnect() vertauscht...
    Danke an alle die mitgedacht haben!

    3 Mal editiert, zuletzt von Yjuq (19. März 2013 um 21:29)

  • Probier doch einfach mal mit dem Standardbrowser auf die Seite zuzugreifen. Wenn das funktioniert, liegt es am Skript, sonst evtl. am @ vor dem $__GET ?

    EDIT:
    Falls es am Skript liegt: probier doch mal mit einem @LF&@LF vor bzw. nach dem Post angehangen

  • Ich habe das @ auch mal zum Test ausgelassen...
    Es liegt an meinem Script weil es auch nicht die Fehlerausgabe empfängt...

    Am php Schnippsel ist alles in Ordnung! :)


    €dit:
    Ich frage jetzt noch zusätzlich im Bot Forum nach. Also bitte nicht wundern wenn ihr ein Thread von mir dort entdeckt.
    Ich glaube dass sie sich besser mit dem Thema WinHttp auskennen. Ich mach das nicht weil ich irgendwie eine schnelle Lösung will,
    sondern ich einfach glaube dass die Frage dort besser aufgehoben ist. Würde mich aber freuen wenn auch hier weiterhin mitgedacht wird...
    Komme leider immernoch nicht drauf... :)

    Einmal editiert, zuletzt von Yjuq (19. März 2013 um 20:49)