_INetGetSource & _WinHttpReadData: Seiteninhalt wird nicht richtig runtergeladen

  • Ich muss zugeben, ich blick da gerade gar nicht durch :wacko:

    Ich schreib mir gerade ein Programm um an eine MP3 Suchmaschine eine Suchanfrage zu schicken, das zurückkommende Ergebniss durchsuche ich dann nach den Liedern und zeige diese in einer Listview an.
    Nun wählt man einen Eintrag aus und kann diesen Abspielen.

    Mit der normalen Suchanfrage funktioniert das auch einwandfrei.

    Nun wollte ich die dortige Advanced Suche benutzen, schicke ich den Suchstring ab bekomme ich aber kurioserweise nun das hier zurück:
    [Blockierte Grafik: http://img843.imageshack.us/img843/1638/screenshot1nt.jpg]

    und nicht wie mit der Normalen Suche, die Ergebnisse.

    Hab es zuerst mit _INetGetSource probiert, nun eben mit _WinHttpReadData.
    Bei beidem das selbe.

    Kann mir einer von euch Bitte erklären was hier falsch läuft ?
    Normaler Suchstring:

    Code
    http://skreemr.com/results.jsp?q=test&search=SkreemR+Search


    Link zum Ergebniss im Browser anzeigen

    Advanced Suchstring:

    Code
    http://skreemr.com/advanced_results.jsp?advanced=true&song=&artist=test&album=&genre=&bitrate=128000&length=00:00:30&button=SkreemR+Search


    Link zum Ergebniss im Browser anzeigen

    Ruft man diese Links im Browser auf, funktionieren beide einwandfrei.
    Nur nicht in meinem Programm, da kommt halt bei der Advanced Suche der Inhalt von dem Screenshot.

    Hab leider zu wenig Ahnung um mir das nun zu erklären und hoffe auf Eure Erfahrung :whistling:

    Einmal editiert, zuletzt von HobbyCoder (6. März 2011 um 14:44)

  • Wenn es nur beim Script falsch ist hast du evtl etwas beim öffnen der Seite im Script falsch gemacht. Wie wäre es mit einem kleinens Codeausschnitt? ;)

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Hm ich sende den selben Link an die Seite, den ich auch mit dem Browser öffnen kann.
    Bei der normalen geht es, bei der Advanced nicht.

    [autoit]

    $sUrl_normal="http://skreemr.com/results.jsp?q=test&search=SkreemR+Search"
    $sPlainhtml=_INetGetSource($sUrl_normal)
    $sfileHtml=$sPlainhtml
    $stitleHtml=$sPlainhtml

    MsgBox(0,"test",$sPlainhtml,0) ; Ergebniss sieht was leer aus, da erst eine große leere Fläche im Ergebniss der Seite ist....ist aber alles da, wie im Browser.

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

    $sUrl_advanced="http://skreemr.com/advanced_results.jsp?advanced=true&artist=test&bitrate=128000&button=SkreemR+Search"
    $sPlainhtml=_INetGetSource($sUrl_advanced)
    $sfileHtml=$sPlainhtml
    $stitleHtml=$sPlainhtml

    MsgBox(0,"test",$sPlainhtml,0) ; der kuriose Fehler

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

    Glaub irgendwie das liegt an der advanced_results.jsp Seite und sollte eine andere MP3 Suchmaschine suchen, die mit .php arbeitet.

  • Aus irgend einem Grund benötigt die Seite den Header Accept-Languages. Damit funktioniert es.

    [autoit]

    #include<WinHttp.au3>
    $hInternet = _WinHttpOpen("Mozilla/4.0 (compatible; AutoIt v3)")
    $hConnect = _WinHttpConnect($hInternet, "skreemr.com")
    $sResult = _WinHttpSimpleRequest($hConnect, "GET", "/advanced_results.jsp?advanced=true&artist=test&bitrate=128000&button=SkreemR+Search", Default, Default, "Accept-Language: de,en;q=0.7,en-us;q=0.3", False, 1)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hInternet)
    MsgBox(0, '', $sResult)

    [/autoit]

    Edit: Habe noch UTF-8 zum lesen der Asugabe eingefügt, da die Seite in UTF-8 ist.

  • Du bist ein echter Schatz :love:
    Lass das nur nicht meine Freundin lesen :rofl:

    Hab nun bis eben im Web nach einer Lösung gesucht, da ich dachte das hängt mit der jsp Seite zusammen.
    Also das noch Javascript irgendwie ausgeführt werden muss.
    War schon kurz davor das für eine andere Suchmaschine umzuschreiben, aber skreemr.com bietet doch die besten Funktionen und Ergebnisse, wie Bitrate, Länge und Filegröße.

    Ich danke dir auch im Namen meiner Freundin, für die ist das Programm.
    Sie tut sich noch was schwer mit dem Internet und wo man da überall draufdrücken muss *bg*, so kann sie halt nun einfach einen Titel oder Interpreten eintippen und sich aus den Ergebnissen was anhören.

    Erst gestern der SUPER Tip mit der bass.dll und nun wieder eine TOP Lösung.
    [Blockierte Grafik: http://allpoetry.com/s/images/smile/thanks.gif]