• Ein kleines UDF für WinHTTP, das ich für ein kurze einführung in meinem Video Tut benutz habe.
    Leider bekomm ich bei dem COM keine Events zum laufen und allgemein haben die Funktionen keine sonderlich guten rückgabe Werte.

    Spoiler anzeigen
    [autoit]


    Global Const Enum $WinHttpRequestOption_UserAgentString, _
    $WinHttpRequestOption_URL, _
    $WinHttpRequestOption_URLCodePage, _
    $WinHttpRequestOption_EscapePercentInURL, _
    $WinHttpRequestOption_SslErrorIgnoreFlags, _
    $WinHttpRequestOption_SelectCertificate, _
    $WinHttpRequestOption_EnableRedirects, _
    $WinHttpRequestOption_UrlEscapeDisable, _
    $WinHttpRequestOption_UrlEscapeDisableQuery, _
    $WinHttpRequestOption_SecureProtocols, _
    $WinHttpRequestOption_EnableTracing, _
    $WinHttpRequestOption_RevertImpersonationOverSsl, _
    $WinHttpRequestOption_EnableHttpsToHttpRedirects, _
    $WinHttpRequestOption_EnablePassportAuthentication, _
    $WinHttpRequestOption_MaxAutomaticRedirects, _
    $WinHttpRequestOption_MaxResponseHeaderSize, _
    $WinHttpRequestOption_MaxResponseDrainSize, _
    $WinHttpRequestOption_EnableHttp1_1, _
    $WinHttpRequestOption_EnableCertificateRevocationCheck

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

    ConsoleWrite ( $o.option ( $WinHttpRequestOption_UserAgentString ) )

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

    Func _WinHTTPOpen ( $sMethod, $sUrl, $iAsync = 0)
    If $sMethod <> 'GET' and $sMethod <> 'POST' and $sMethod <> 'HEADER' and $sMethod <> 'PUT' Then
    Return SetError (1,0,0)
    EndIf
    $sMethod = StringUpper ($sMethod)
    if not IsString ( $sUrl ) Then Return SetError (2,0,0)

    $oWinHTTP = ObjCreate ('WinHttp.WinHttpRequest.5.1')

    if @error Then
    Return SetError (3,0,0)
    EndIf

    if $oWinHTTP.Open ( $sMethod, $sUrl, $iAsync) <> '' Then
    Return SetError (4,0,0)
    EndIf
    Return $oWinHTTP
    EndFunc

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

    Func _WinHTTPStatus ( ByRef $oWinHTTP , $iMode = 1)
    if not __WinHTTPisWinHTTPObj ($oWinHTTP) Then Return SetError (1,0,0)

    Switch $iMode
    case 1
    Local $avStatus[2] = [ $oWinHTTP.status, $oWinHTTP.statustext]
    Return $avStatus
    case 2
    Return $oWinHTTP.status
    case 3
    Return $oWinHTTP.statustext
    case Else
    Return SetError (2,0,0)
    EndSwitch

    EndFunc

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

    Func _WinHTTPResponse ( ByRef $oWinHTTP, $iTimeout = -1)
    if not __WinHTTPisWinHTTPObj ($oWinHTTP) Then Return SetError (1,0,0)
    Local $vResponseText = $oWinHTTP.ResponseText
    if $vResponseText <> '' Then
    Return $vResponseText
    Else
    if not $oWinHTTP.WaitForResponse ( $iTimeout ) Then
    Return SetError (2,0,0)
    Else
    Return $oWinHTTP.ResponseText
    EndIf
    EndIf
    EndFunc

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

    Func _WinHTTPSend (ByRef $oWinHTTP, $vData = Default)
    if not __WinHTTPisWinHTTPObj ($oWinHTTP) Then Return SetError (1,0,0)

    if $vData <> Default then
    $oWinHTTP.Send ($vData)
    Else
    $oWinHTTP.Send ()
    EndIf

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

    EndFunc

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

    func __WinHTTPisWinHTTPObj ($oObject)
    if IsObj ($oObject) and ObjName ($oObject) == 'IWinHttpRequest' Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc

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

    func __WinHTTPResponse ($oObject)
    If not __WinHTTPisWinHTTPObj ( $oObject ) Then Return 0
    If Execute ("$oObject.GetAllResponseHeaders()") <> '' Then
    Return 1
    Else
    Return 0

    EndIf
    EndFunc

    [/autoit]
  • Ok danke dir habe es mir auch agesehen aber dat video scheint defekt zu sein oder ich hab die richtigen soundcodecs nicht am ende kein sound mehr.


    und die WinHTTP.au3 ergibt included diesen error


    Zitat

    +>22:00:57 Starting AutoIt3Wrapper v.1.10.1.8 Environment(Language:0407 Keyboard:00000407 OS:WIN_XP/Service Pack 3 CPU:X86)
    >Running AU3Check (1.54.13.0) from:C:\Programme\AutoIt3
    C:\Programme\AutoIt3\Include\WinHTTP.au3(1,14) : ERROR: syntax error
    Global Const Enum
    ~~~~~~~~~~~~~^

  • Das ist dan wohl ein Fehler von AU3Check, da die Sntax, ausser du hast was anders kopiert wie ich richtig ist.

  • In der Hilfe sehe ich kein "const" vor "Enum", mach des mal weg und schau obs dann geht. :)

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)