Problem bei Winhttp

  • Hi, ich möchte gerne einen Request mit Winhttp senden, um ihn danach als ganz normalen Quelltext auszulesen und weiterzuverwenden, doch leider steh ich grad aufm Schlauch.
    Hier ist der Code in vereinfachter Form: (sorry Chrome will ihn nicht geordnet wiedergeben, bitte vergesst also die Enter nicht)

    Spoiler anzeigen
    [autoit]

    #include <winhttp.au3>Global $hSession = _WinhttpOpen("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"), $hConnect = _WinhttpConnect($hSession, "test.de")

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

    $Player = _WinHttpSimpleRequest($hConnect, "GET", /test)FileWrite("site.html", $Player)ShellExecute("site.html")

    [/autoit]


    Man kann nun erkennen, dass das gespeicherte Dokument nicht dem Quellcode entspricht, welchen man z.b im Browser sehen kann. Es hat Ähnlichkeiten, aber einige Zeilen sind sehr unterschiedlich.
    Ich habe bereits versucht mit der Änderung des Modes die Kodierung zu ändern, aber leider komme ich immer noch nicht zu meinem gewünschten Ergebnis.

    Vielleicht können manche von euch das Problem mit den ersten zwei Zeilen lösen:

    Quelltext der von dem Request returned wird:

    Spoiler anzeigen

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><?xml version="1.0" encoding="utf-8"?>

    und der Quelltext aus dem Browser:

    Spoiler anzeigen

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><!-- saved from url=(0052)file:///C:/Users/Andy/Desktop/site.html -->

    Einmal editiert, zuletzt von Mr.SaxoI3eat (12. Februar 2013 um 20:58)

  • Probier bei Codeeinfügen FF etc. ;)

    Zu deinem Problem: Schau dir mal

    [autoit]

    _InetGetSource()

    [/autoit]

    an. :D

    Mfg

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Das Problem ist aber, dass ich mit Winhttp bereits in einem Forum eingeloggt habe, um dort den Link aufrufen zu dürfen. Mit _InetGetSource geht es also nicht, denn da würde ich nur umgeleitet werden.

  • Kann dein Problem nicht nachollziehen. Das Ergebnis dieses Skript (Zeilenumbruchs- u. Syntaxfehler bereinigt und Useragent angepasst):

    [autoit]

    #include <winhttp.au3>
    Global $sHTTPUserAgent = "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.5) Gecko/20100101 Firefox/10.0.5"
    Global $hSession = _WinhttpOpen($sHTTPUserAgent)
    $hConnect = _WinhttpConnect($hSession, "test.de")

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

    $Player = _WinHttpSimpleRequest($hConnect, "GET", "/test")
    FileWrite("site.html", $Player)
    ShellExecute("site.html")

    [/autoit]

    ist identisch zu der manuell abgespeicherten Seite mit der Option nur HTML. Dass die Originalseite im Browser anders dargestellt wird ist logisch da relative Pfadangaben verwendet werden und dadurch Bilder etc. nicht geladen werden können.

    mfg autoBert

    Einmal editiert, zuletzt von autoBert (12. Februar 2013 um 20:20)

  • Ich hab mir nochmal den Quelltext angeschaut und doch noch die gesuchte Passage gefunden!!! sie war nur viel weiter unten und irgendwie verschoben und "umgeschrieben", deshalb haben hat mir die Stichwörtersuchen kein Ergebnis gebracht!
    Kp wieso das so ist...
    Trotzdem Danke an alle!!