WinHttp Abfrage gibt nach 30s nichts zurück

  • Ich greife mit der WinHTTP.au3 UDF auf ein paar API zu und lange Dateien runter (bei denen man sich per _POST anmelden muss).
    Nur habe ich festgestellt, dass wenn der Seitenaufbau mehr als 30s benötigt gar kein Inhalt zurück gegeben wird!

    Ich habe das gelogt: alle Verbindungen die <30s sind funktionieren, alle die >=30s sind funktionieren nicht.
    Genauer, wenn _WinHttpSendRequest() 30s aktiv ist, kommt kein Inhalt an. Ein Header wird gesendet.

    Wieso wird die Verbindung nach 30s abgebrochen?
    Wie kann ich das verhindern?

    Meine Beispiel Funktion
    [autoit]

    #include "WinHTTP.au3"

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

    $sIhnhalt = crys_post("http://www.example.com/grosse_datei.zip", "name=name&pw=pw")

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

    Func crys_post($sLink, $sPost = "")
    Local $data

    $sLink = StringReplace($sLink, "http://", "")
    ;if StringRight($sLink, 1) = "/" then $sLink = StringTrimRight($sLink, 1)
    $aLink = StringSplit($sLink, "/", 1+2)
    $sLink = $aLink[0]
    $sLinkPfad = "/" & _ArrayToString($aLink, "/", 1)
    ;MsgBox(0, "URL", $sLink & @CRLF & $sLinkPfad & @CRLF & $sPost)

    $hOpen = _WinHttpOpen()
    $hConnect = _WinHttpConnect($hOpen, $sLink)

    if $sPost = "" then
    $hRequest = _WinHttpOpenRequest($hConnect, "GET", $sLinkPfad, "HTTP/1.1")
    else
    $hRequest = _WinHttpOpenRequest($hConnect, "POST", $sLinkPfad, "HTTP/1.1")
    endif

    _WinHttpSendRequest($hRequest, "Content-Type: application/x-www-form-urlencoded" & @CRLF, $sPost)
    ;_WinHttpSendRequest($hRequest, "Content-Type: multi-part/form-data" & @CRLF, $sPost)
    if @error then MsgBox(16, "Fehler", "_WinHttpSendRequest()")
    _WinHttpReceiveResponse($hRequest)

    ;$header = _WinHttpQueryHeaders($hRequest)
    ;MsgBox(0, "Header", $header)
    If _WinHttpQueryDataAvailable($hRequest) Then
    Do
    $data &= _WinHttpReadData($hRequest)
    Until @error
    ;MsgBox(0, "Daten", $data)
    EndIf

    _WinHttpCloseHandle($hRequest)
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)

    return $data
    EndFunc

    [/autoit]