_INetGetSourcePost mehere post überbringen...

  • heyho leute,

    bin neu hier und dachte ich frag gleich mal los was ich wissen will ^^

    also ich habe hier was gefunden was ich echt nice finde aber ich möchte gerne wissen wie ich mit dem _INetGetSourcePost mehere post übermittel?

    habe mir sowas in der richtung vorgestellt:

    [autoit]


    #include <INETv2.au3>

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

    $aSource = _INetGetSourcePost("http://testseite.de/post.php","test01=eefc8652172cde42384089dcaa2d9406" & "test02=2lk3j4kl2j34")

    [/autoit]


    klappt aber nicht so wie ich mir des vorstelle... hat wer ne idee? wüsste nur gerne wie des geht...

    €: oooch ne... gleich der erste post im falschen bereich... könnte das bitte jemand verschieben? ... Entschuldigung...

    • Offizieller Beitrag

    Versuch mal die Posts hintereinander zu senden also:

    [autoit]

    #include <INETv2.au3>

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

    $aSource = _INetGetSourcePost("http://testseite.de/post.php")
    $aSourceA = _INetGetSourcePost("test01=eefc8652172cde42384089dcaa2d9406")
    $aSourceB = _INetGetSourcePost( "test02=2lk3j4kl2j34")

    [/autoit]
    • Offizieller Beitrag

    Hallo und herzlich Willkommen :)

    Sollen die nacheinander gemacht werden oder gleichzeitig?
    Falls gleichzeitig probier das hier:

    [autoit]

    #include <INETv2.au3>

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

    $aSource = _INetGetSourcePost("http://testseite.de/post.php","test01=eefc8652172cde42384089dcaa2d9406&test02=2lk3j4kl2j34")

    [/autoit]

    Falls nacheinander (Aufeinander folgende Seiten) musst du mit Cookies arbeiten, oder mit der ie.au3 oder mit der HTTP UDF (Suche.)

    Mfg Spider

  • hmmm... scheint auch nicht wirklich zu gehen...

    naja ich beschreib mal mein problem genauer:

    ich möchte bei sowas wie ein tool machen um ein link zu relink.us zu schicken.
    relink.us hat auch extra für sowas in der art nen link gemacht an den alle geshickt werden soll.

    folgendes schreiben die:

    jetzt habe ich des folgendermaßen gemacht:

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

    #include <INETv2.au3>
    ;by GtaSpider

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

    SplashTextOn("","link-liste ...",200,20,-1,-1,1)
    $aSource = _INetGetSourcePost("http://www.relink.us/api2.php","api=eefc8652172cde42384089dcaa2d9406&url=http://rapidshare.com/files/173317272/Carbonite.rar.html&title=TestSeiten&dlc=1&ccf=1&rsdf=1")
    If @error Then Exit MsgBox(16,"","Error: "&@error)
    FileWrite("TFile.html",$aSource[1])
    RunWait('"' & @ComSpec & '" /c "'&@ScriptDir&'\TFile.html"', '', @SW_HIDE)
    SplashOff()

    [/autoit]

    klappt aber leider so nicht, kommt dann immer "3 - Nicht alle Links sind gültig" dabei raus... weis einer rat?

    • Offizieller Beitrag

    Die Fehlermeldung bekommst du schon wenn du nur http://www.relink.us/api2.php aufrufst .

    Edit: Hab zwar keine Ahnung wofür die Seite ist , hier aber mal die ein Beispiel in PHP

    Vielleicht kann dir ja jemand helfen ,der sich mit PHP auskennt. Ich hab keinen Plan davon.

    • Offizieller Beitrag

    In meinem letzten Post findest du es GTASpider

  • warscheinlich fehlt der header x-www-form-urlencoded ;)
    mit WinHTTP geht es jedenfalls:

    Spoiler anzeigen
    [autoit]

    #include "WinHTTP.au3"

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

    $hw_open = _WinHttpOpen("WinHTTP Example")

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

    $hw_connect = _WinHttpConnect($hw_open, "www.relink.us")

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

    $h_openRequest = _WinHttpOpenRequest($hw_connect, "POST", "/api2.php", "HTTP/1.1")

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

    $data = "api=eefc8652172cde42384089dcaa2d9406&url=http://rapidshare.com/files/173317272/Carbonite.rar.html&title=TestSeiten&dlc=1&ccf=1&rsdf=1"

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

    _WinHttpSendRequest($h_openRequest,"Content-type: application/x-www-form-urlencoded"&@CRLF,$data)

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

    _WinHttpReceiveResponse($h_openRequest)

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

    If _WinHttpQueryDataAvailable($h_openRequest) Then
    $header = _WinHttpQueryHeaders($h_openRequest)
    Local $body
    Do
    $body &= _WinHttpReadData($h_openRequest)
    Until Not @extended
    EndIf

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

    _WinHttpCloseHandle($h_openRequest)

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

    _WinHttpCloseHandle($hw_connect)

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

    _WinHttpCloseHandle($hw_open)

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

    MsgBox(0, "Header", $header)
    MsgBox(0, 'body', $body)

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

    SplashOff()

    [/autoit]
  • Genau das selbe wollte ich vor ein paar Wochen auch schon machen, aber damals hatte relink.us noch keine funktionierende API. Ich bin mal gespannt auf deine Lösung, ich kann mich momentan nicht selber dran machen.

    MFG Taek

  • hmm.... ey progandy irgendwie bekomme ich des nicht so wirklich hin... kannst du mal ein bisschen den Code erklären?

    bei mir kommt immer des hier zurück:

    MsgBox(0, "Header", $header)
    MsgBox(0, "Header", ^ ERROR
    ->23:00:40 AutoIT3.exe ended.rc:1

    der link den du gepostet hast ist zwar schon geil aber ich kann nicht gerade besonderst gut englisch :(

    €: jetzt scheint es zu gehen... ich probier da noch ein bischen rumm^^ danke dir für des skript^^

  • kannst du mal ein bisschen den Code erklären?


    Ich hab mal ein paar Kommentare hinzugefügt

    Spoiler anzeigen
    [autoit]

    #include "WinHTTP.au3"

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

    ; WinHTTP starten
    $hw_open = _WinHttpOpen("WinHTTP Example")
    ; verbindung mit dem server aufbauen
    $hw_connect = _WinHttpConnect($hw_open, "www.relink.us")
    ; die Anfrage an den Server starten
    $h_openRequest = _WinHttpOpenRequest($hw_connect, "POST", "/api2.php", "HTTP/1.1")
    ; Post-daten als Variable, damit Funktionsaufruf kürzer
    $data = "api=eefc8652172cde42384089dcaa2d9406&url=http://rapidshare.com/files/173317272/Carbonite.rar.html&title=TestSeiten&dlc=1&ccf=1&rsdf=1"
    ; Die Anfrage an den Server senden. Dabei eine zusätzlichen Header (Content_type) und die Post-Daten senden
    _WinHttpSendRequest($h_openRequest,"Content-type: application/x-www-form-urlencoded"&@CRLF,$data)
    ; auf die Antwort warten
    _WinHttpReceiveResponse($h_openRequest)
    ; testen, ob Antwort da
    If _WinHttpQueryDataAvailable($h_openRequest) Then
    ; den Header auslesen
    $header = _WinHttpQueryHeaders($h_openRequest)
    ; Schleife: so lange Body auslesen, bis keine Daten mehr da
    Local $body
    Do
    $body &= _WinHttpReadData($h_openRequest)
    Until Not @extended
    EndIf
    ; die Anfrage schließen -> Speicher freigeben
    _WinHttpCloseHandle($h_openRequest)
    ; Verbindung beenden
    _WinHttpCloseHandle($hw_connect)
    ; WinHTTP beenden
    _WinHttpCloseHandle($hw_open)
    ; Header und Body jeweils in einer MsgBox ausgeben
    If IsDeclared("header") Then
    MsgBox(0, "Header", $header)
    MsgBox(0, 'body', $body)
    Else
    MsgBox(0, 'Fehler', "Server hat nicht geantwortet oder keine Verbindung möglich")
    EndIf

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

    SplashOff()

    [/autoit]
  • wohw echt vielen dank das du des gemacht hast... gleich viel übersichtlicher ^^

    also ich mach mal noch ne nette gui dazu und dann post ich mal mein erstes kleines sinnlos tool :D

    klappt auch alles einwandfrei wie ich mir des vorstelle falls ich noch fragen habe wert ich mich melden ^^