1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Deaken

Beiträge von Deaken

  • XML HTTPS POST Abfragen (Afterbuy)

    • Deaken
    • 30. März 2017 um 13:21

    OK Ich glaube das bringt mich ein gutes STück weiter. Ich habe mir WinHttp Help angeschaut und denke ich benötige hier _WinHttpSimpleSSLRequest. Hier mal das example:

    Code
    #include "WinHttp.au3"
    
    
    Opt("MustDeclareVars", 1)
    
    
    ; !!!Note that this example will fail because of invalid username and password!!!
    
    
    ; Use real data for authentication
    Global $sUserName = "SomeUserName"
    Global $sPassword = "SomePassword"
    Global $sDomain = "www.google.com"
    Global $sPage = "accounts/ClientLogin"
    ; Visit http://code.google.com/apis/accounts/docs/AuthForInstalledApps.html for more informations
    Global $sAdditionalData = "accountType=HOSTED_OR_GOOGLE&Email=" & $sUserName & "&Passwd=" & $sPassword & "&service=mail&source=Gulp-CalGulp-1.05"
    
    
    ; Initialize and get session handle
    Global $hOpen = _WinHttpOpen()
    ; Get connection handle
    Global $hConnect = _WinHttpConnect($hOpen, $sDomain)
    
    
    ; SimpleSSL-request it...
    Global $sReturned = _WinHttpSimpleSSLRequest($hConnect, "POST", $sPage, Default, $sAdditionalData)
    
    
    ; Close handles
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hOpen)
    
    
    ; See what's returned
    MsgBox(0, "Returned", $sReturned)
    Alles anzeigen

    Ich habe dementsprechend die Variablen wie login, host, site, etc. ersetzt. Ich bekomme natürlich einen Fehler zurück da ich ja noch gar keinen XML content an den POST gehangen habe. Wenigstens bekomme ich schon mal was zurück :)

    Ich habe das mal probiert als $AdditionalData bzw. String einzufügen. Wenn ich es in Anführungszeichen mit Absätzen versuche, meckert AutoIT nach jeder spitzen geschlossenen Klammer (vlt auch Absatz) "unterminated string".

    Wenn ich alle Absätze entferne dann meckert AutoIT "Uknown function" Ist das jetzt zu lang für WinHttp oder mache ich was falsch?

  • XML HTTPS POST Abfragen (Afterbuy)

    • Deaken
    • 30. März 2017 um 12:31

    C# kann ich leider nicht. Ich habe mich mal aus der afterbuy dokumentation bedient und denke ein Request wird später ungefähr so aussehen:

    XML
    <?xml version="1.0" encoding="utf-8"?>
    <Request>
      <AfterbuyGlobal>
        <PartnerID>123</PartnerID>
        <PartnerPassword>1a2b3c</PartnerPassword>
        <UserID>AfterbuyTestaccount</UserID>
        <UserPassword>4a5b6c</UserPassword>
        <CallName>GetSoldItems</CallName>
        <DetailLevel>0</DetailLevel>
        <ErrorLanguage>DE</ErrorLanguage>
      </AfterbuyGlobal>
      <RequestAllItems>0</RequestAllItems>
      <DataFilter>
        <Filter>
         <FilterName>DateFilter</FilterName>
         <FilterValues>
           <DateFrom>01.05.2006 00:00:00</DateFrom>
           <DateTo>05.06.2006 23:00:00</DateTo>
           <FilterValue>AuctionEndDate</FilterValue>
           <FilterValue>FeedbackDate</FilterValue>
         </FilterValues>
        </Filter>
        <Filter>
         <FilterName>OrderID</FilterName>
         <FilterValues>
           <FilterValue>43151135</FilterValue>
         </FilterValues>
        </Filter>
        <Filter>
         <FilterName>RangeID</FilterName>
         <FilterValues>
           <ValueFrom>1</ValueFrom>
           <ValueTo>999999999</ValueTo>
         </FilterValues>
        </Filter>
        <Filter>
         <FilterName>DefaultFilter</FilterName>
         <FilterValues>
           <FilterValue>InvoicePrinted</FilterValue>
         </FilterValues>
        </Filter>
      </DataFilter>
    </Request>
    Alles anzeigen

    Zu lang für rudimentäre AutoIT Funktionen? Ich danke dir für die Hinweise zu RegEx und WInHttp und schaue mir da die Hilfe mal an.

    BTW: Sogar "das einfachste der ganzen Sache" erschließt sich mir bisher immer noch nicht so richtig: Wie übergebe ich denn mein XML Request manuell an diese .aspx Site?

  • XML HTTPS POST Abfragen (Afterbuy)

    • Deaken
    • 30. März 2017 um 11:06

    Hi, danke für deine schnelle Rückmeldung @alpines

    Es werden schon ein paar hundert Calls pro Woche damit gemacht also ich denke ich arbeite dann mit https://www.autoitscript.com/forum/topic/19…om-wrapper-com/

    Leider ist das Topic sehr unübersichtlich und brauchbare examples finde ich da auch nicht. Ich habe aber auch das Gefühl das ich etwas grundlegendes noch nicht verstanden habe.

    Ich arbeite mich daher da mal ein. Sollte sich aber evtl. jemand finden der sich ebenfalls per XML an Afterbuy Datensätzen bedient wäre ein Beispiel HowTo echt nett. Ansonsten poste ich eins falls ich es schaffe. Es gilt


    Zitat von Afterbuy XML Dokumentation

    » Aufruf der Schnittstelle

    Die Schnittstelle wird über einen HTTPS-Post (SSL-Verschlüsselung) aufgerufen.
    Url: https://api.afterbuy.de/afterbuy/ABInterface.aspx

    Grundsätzlich muss eine Auth erfolgen:


    Zitat von Afterbuy XMl Dokumentation

    Der XML Tag ’AfterbuyGlobal’ muss bei jedem Aufruf der Schnittstelle vorhanden sein.

    Code:
    <AfterbuyGlobal>
    <PartnerID>123456</PartnerID>
    <PartnerPassword>abc123</PartnerPassword>
    <UserID>Afterbuy</UserID>
    <UserPassword>123abc</UserPassword>
    <CallName>GetAfterbuyTime</CallName>
    <DetailLevel>0</DetailLevel>
    </AfterbuyGlobal>
    Alles anzeigen

    Da ich von XML keine Ahnung habe stellt sich mir halt die Frage nach dem WIE, besonders per AutoIT. Ich denke aber auch generell sollte ich das herausfinden. Bisher vermute ich alles XML relevante kommt in eine Datei, evtl. .xml, und dann muss ich diese .xml datei mit allen XML Tags übergeben an die URL https://api.afterbuy.de/afterbuy/ABInterface.aspx


    Zumindest wenn ich die reine URL per Browser öffne bekomme ich eine Rückmeldung das eben keine AfterbuyGlobal Tags übergeben wurden.

    Soweit erstmal...

  • XML HTTPS POST Abfragen (Afterbuy)

    • Deaken
    • 30. März 2017 um 10:19

    Hallo zusammen,

    ich habe mittels AutoIT ein paar Geschäftsprozesse (Afterbuy->Warenwirtschaftssystem) automatisiert. Bisher greife ich Daten über den Browser/Quellcode ab, möchte das aber nun mit XML umsetzen damit man nicht bei jeder kleinen Änderung anpassen muss.

    Nun habe ich bisher kaum mit XML gearbeitet und bräuchte da mal einen Tipp. Ich kann die möglichen XML Calls hier testen:

    http://api.afterbuy.de/afterbuy/ABInterfaceTest.aspx

    gibt es eine UDF um möglichst simpel solche XML calls in autoit auszuführen und zu verarbeiten?

    mfg

  • _FFXPath Problem

    • Deaken
    • 6. Dezember 2015 um 14:07

    Bitte, bitte, bitte mit Zucker obendrauf

    [Blockierte Grafik: http://www.q-tarantino.de/pictures/originals/pulp02.jpg]

  • _FFXPath Problem

    • Deaken
    • 2. Dezember 2015 um 20:43

    Es würde mir schon helfen, wenn jemand die gleichen Fehler bekommt. UDF gibt es auf http://www.thorsten-willert.de

  • _FFXPath Problem

    • Deaken
    • 30. November 2015 um 14:52

    Oh sorry, dachte es ist bekannt. Es geht um das Example von der function _FFXPath:

    http://german.documentation.ff-au3.thorsten-willert.de/ff_functions/_FFXPath.php

    Code:

    AutoIt
    #Include <Array.au3>
    #Include <FF.au3>
    
    
    If _FFConnect() Then
    	_FFTabAdd( "http://ff-au3-example.thorsten-willert.de/")
    
    
    	; counting the number of results from the Xpath query
    	MsgBox(64, "Number of password fields:", _FFXPath( "//input[@type='password']", "", 10))
    
    
    	; the textContent from the query result
    	MsgBox(64, "Fieldset-Legend:", _FFXPath( "//form[1]/fieldset/legend"))
    
    
    	; the textContent from option 2
    	MsgBox(64, "Text from 0ption 5:", _FFXPath( "//option[2]"))
    
    
    	; Method and action of the first form
    	$vTmp = "Method: " & _FFXPath( "//form[1]/@method") & @crlf
    	$vTmp &= "Action: " & _FFXPath( "//form[1]/@action")
    	MsgBox(64, "Form 2", $vTmp)
    
    
    	; array with the textContent of all options
    	$aArray = _FFXPath("//option","value",7)
    	_ArrayDisplay($aArray)
    
    
    	; working with the object returned from the query
    	_FFXPath("//form[1]//input[@type='checkbox' and position()=2]","",9)
    	MsgBox(64,"", _FFObj("xpath.type") & @crlf & _FFObj("xpath.value"))
    	_FFObj("xpath.checked=true")
    
    
    EndIf
    Alles anzeigen
  • _FFXPath Problem

    • Deaken
    • 30. November 2015 um 14:19

    Hat niemand einen Tip für mich? :(

  • _FFXPath Problem

    • Deaken
    • 26. November 2015 um 13:51

    Hallo,

    ich habe ein Problem mit _FFXPath. Bereits die zweite Abfrage unter dem Beispiel von http://ff-au3-example.thorsten-willert.de/ funktioniert nicht mehr, es erscheint bei der ersten Abfrage noch der Wert 1, Alle weiteren Abfragen liefern mir in der MSgBox nur ein OBJECT|FFXpath.au3.

    Firefox version 42.0, FF.au3 version 0.6.0.2b, mozrepl 1.1.2.1

    Gruß

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™