Libcurl

  • Moin,

    ich habe im Netz mal ein wenig herumgestöbert und habe auch das ein oder andere Beispiel gefunden. Leider habe ich im Moment aber nicht die Zeit, mich da durch zu wurschteln. Daher suche ich jemanden, der ein wenig Zeit hat, mir ein Autoit-Equivalent für folgendes zu erstellen:

    [autoit]

    $ch = curl_init('http://domain.tld/bla...');
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    [/autoit]

    Ich brauche also im Prinzip die Funktionen

    - curl_init
    - curl_setopt
    - curl_exec
    - curl_getinfo

    Hat hier jemand Zeit und Lust für so etwas? Was soll's kosten?

  • Dürfte in etwa so aussehen...

    Spoiler anzeigen
    [autoit]

    Local Static $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("POST", "http://domain.tld/bla...", False)
    $oHTTP.SetRequestHeader("User-Agent", "Opera/9.80 (Windows NT 6.1; U; de) Presto/2.10.229 Version/11.61")
    $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    $oHTTP.Send($postFields)
    $oRespond = $oHTTP.ResponseText

    [/autoit]
  • Ich schätze, dass das so noch nicht funktioniert :) Hier mal die C# von dem, was ich wirklich benötige:

    Ich hab's mittlerweile sogar mit der curl.exe probiert, aber selbst dazu bin ich scheinbar zu blöd...

  • Befindet sich in $postfields:

    Zitat

    (HTTP) This posts data exactly as specified with no extra processing whatsoever.

    If you start the data with the letter @, the rest should be a filename. Data is posted in a similar manner as --data-ascii does, except that newlines are preserved and conversions are never done.

    If this option is used several times, the ones following the first will append data as described in -d, --data.

    Ich würde mich auch mit einer Non-Curl Version zufrieden geben (wäre mir vielleicht sogar lieber), aber ich muss sowohl den Parameter key, als auch die Datei selbst an den Host schicken und damit tu ich mich etwas schwer :S