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. de1m

Beiträge von de1m

  • Passwordeingabe in Console

    • de1m
    • 12. September 2014 um 13:00

    Problem habe ich nun gelöst.
    Ich habe diese UDF genommen.

    Man kann mit dem Befehl _Console_SetMode, die Ausgabe in die Console deaktivieren

    [autoit]

    _Console_SetMode(-1, BitNOT($ENABLE_ECHO_INPUT))

    [/autoit]
  • Passwordeingabe in Console

    • de1m
    • 11. September 2014 um 20:45
    Zitat von Andy

    Hi,
    schreib doch die _cin()-Funktion der UDF so um, dass sie einen Parameter entgegennimmt welcher bestimmt, ob die Zeichen in der Console als Klartext oder als Sternchen ausgegeben werden.

    Ja, das dachte ich mir auch. Ich habe die Funktion angeschaut, aber nicht verstanden, wo ich da was umstellen sollte?
    Weißt du das vielleicht?

  • Passwordeingabe in Console

    • de1m
    • 11. September 2014 um 16:15

    Hi Leute,
    kurze Frage, wie kann ich ein Password in Console eingeben, also mit **?
    Ich habe die Console.udf (hier) und das hier, aber bei keinem von den Dingen kann ich eine Eingabe mit Sternchen machen.
    Weiß jemand, wie das gehen kann?

  • XML Post. Wie?

    • de1m
    • 23. Mai 2014 um 10:36

    Kann mir vielleicht jemand erklären wie ich mit winhttp eine XML Datei senden kann?

  • XML Post. Wie?

    • de1m
    • 23. Mai 2014 um 09:42
    Zitat von misterspeed

    Wesentlich einfacher tust du dich wenn du die winhttp UDF für sowas verwendest, dann sparst du dir das Zusammenstellen eines validen HTTP Posts. Ob du nun wirklich eine XML Datei an den Server senden musst oder nicht kann man ohne die Doku der API schlecht sagen, deinen Beispielen zu Folge scheint die API ab in der Tat eine XML Datei anzunehmen. Vielleicht wäre es ja sinnvoll die besagte Doku hier ebenfalls zu posten.


    Das was ich habe ist von unserem DNS Anbieter direkt, ich glabue ich kann das nicht veröffentlichen. Aber diese ist genau das gleiche.

    Ich probiere es mit winhttp UDF. Danke

  • XML Post. Wie?

    • de1m
    • 22. Mai 2014 um 18:19
    Zitat von i2c

    Die Parameter für deinen Request solltest du eigentlich in der Dokumentation finden.

    Ja, genau das sind die Parameter - Beispielanfrage wurde das in Doku genannt.

    Zitat von "aus Doku"


    Das Backend wird mittels XML-Kommunikation angesprochen. Jede XML-Anfrage (Request) wird auf Gültigkeit und nötige Berechtigungen geprüft, verarbeitet und dann mit einer XML-Antwort (Response) beantwortet. In der XML-Antwort sind Informationen über den erfolgreichen oder nicht erfolgreichen Ausgang der Operation und ggf. angeforderte Daten enthalten (z. B. bei Inquire-Tasks).

    Hier zum Beispiel die Anfrage (aux XML) aber mit PHP:

    PHP
    <?php
    define( 'HOST', 'https://gateway.autodns.com' );
    define( 'XML_FILE', 'request.xml' );
    $xml = implode( "", file(XML_FILE) );
    header( 'Content-Type: text/xml' );
    echo requestCurl( $xml );
    function requestCurl( $data ) {
    $ch = curl_init( HOST );
    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
    if( !$data = curl_exec( $ch )) {
    echo 'Curl execution error.', curl_error( $ch ) ."\n";
    return FALSE;
    }
    curl_close( $ch );
    return $data;
    }
    ?>
    Alles anzeigen
  • XML Post. Wie?

    • de1m
    • 22. Mai 2014 um 17:00

    Hallo alle und alle andere!

    ich habe bei autodns.com ein paar DNS Domäne (so ca. 400 St.) und möchte diese über Autodns API ändern. Dafür habe ich von denen eine PDF Datei bekommen, wie man sowas realisieren kann.
    Die Beispiele, die dort stehen sind aber nur für PHP oder Java und beide kann ich nicht so gut (leider).

    Ich habe nun versucht das über AutoIT zu realisieren und müsste fest stellen, dass ich das auch nicht kann.

    So sieht die XML Datei aus(in diesem Beispiel sollte man nur die Info zu einem bestimmten Domän kriegen):

    XML
    <?xml version="1.0"encoding="utf-8" ?>
    <request>
    <auth>
    <user>customer</user>
    <password>password</password>
    <context>4</context>
    </auth>
    <task>
    <code>0105</code>
    <domain>
    <name>example.com</name>
    </domain>
    <key>payable</key>
    </task>
    </request>
    Alles anzeigen

    Und hier noch Java Beispiel, wie man das verwenden soll (ist etwas länger):

    Spoiler anzeigen
    Java
    import java.io.BufferedReader;
    import java.io.DataOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.nio.charset.Charset;
    /**
    * Communicates with the backend.
    *
    * @author
    *
    */
    public class Communicator {
    private static final String BACKEND_URL = "https://gateway.autodns.com/;"
    private static final Charset utf8Charset = Charset.forName("UTF-8");
    /**
    * sends the given request to the predefined backend url via http post and reads the
    response
    *
    * @param request
    * @return
    */
    public String sendRequest(String request) {
    URL url;
    HttpURLConnection connection = null;
    try {
    byte[] requestBytes = request.getBytes(utf8Charset);
    // Create connection
    url = new URL(BACKEND_URL);
    connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/x-www-formurlencoded");
    connection.setRequestProperty("HTTP-Version", "HTTP/1.0");
    connection.setRequestProperty("Content-Length", "" +
    Integer.toString(requestBytes.length));
    connection.setRequestProperty("Content-Language", "de-DE");
    connection.setRequestProperty("charset", "utf-8");
    connection.setUseCaches(false);
    connection.setDoInput(true);
    connection.setDoOutput(true);
    // Send request
    DataOutputStream dataOutputStream = new
    DataOutputStream(connection.getOutputStream());
    dataOutputStream.write(requestBytes);
    dataOutputStream.flush();
    // Get Response
    InputStream is = connection.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    String line;
    StringBuffer response = new StringBuffer();
    while((line = reader.readLine()) != null) {
    response.append(line);
    response.append('\r');
    }
    return response.toString();
    } catch(Exception e) {
    e.printStackTrace();
    return null;
    } finally {
    if(connection != null) {
    try {
    connection.getOutputStream().close();
    connection.getInputStream().close();
    } catch(Throwable e) {
    }
    connection.disconnect();
    }
    }
    }
    }
    Alles anzeigen

    Nun hier ist mein Autoit Skript:

    [autoit]


    #include <GUIConstants.au3>
    TCPStartUp()
    Dim $szIPADDRESS = "gateway.autodns.com"
    Dim $nPORT = "443"

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

    Dim $ConnectedSocket = -1

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

    $ConnectedSocket = TCPConnect($szIPADDRESS,$nPORT)

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

    MsgBox(0,"Test", $szIPADDRESS & ":" & $nPORT)
    Dim $szData

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

    $FileName = FileOpen(@ScriptDir&"\request_1.xml",0)
    $XMLData = FileRead ($FileName)

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

    If @error Then
    MsgBox(4112,"Error","TCPConnect failed with WSA error: " & @error)
    Else
    MsgBox(0, "XML Data", $XMLData)
    TCPSend($ConnectedSocket,$XMLData)
    Sleep(100)
    $Response = TCPRecv($ConnectedSocket,8192)
    MsgBox(0, "XML Response", $Response);
    EndIf
    TCPCloseSocket($ConnectedSocket)

    [/autoit]

    Da wo ich XML Daten kriegen sollte, kriege ich nun nichts - MsgBox ist leer.
    Kann mir bitte jemand helfen, Beispiel geben oder wenigstens Info, wie und wo ich was nachschauen kann?

  • Programm für CMD erstellen, welche von .bat gestartet wird

    • de1m
    • 14. Februar 2014 um 08:57

    danke Leute, Problem ist gelöst.

  • Programm für CMD erstellen, welche von .bat gestartet wird

    • de1m
    • 13. Februar 2014 um 17:09
    Zitat von name22

    Ich bin mir nicht ganz sicher, was du möchtest... Soll ein AutoIt-Script von einem Batch-Script gestartet werden, oder umgekehrt? Welches öffnet das Konsolenfenster?
    Rein provisorisch gebe ich dir einfach mal den Tipp, dass man mit $CmdLineRaw Parameter auslesen kann die an ein AutoIt Script beim Start weitergegeben werden. Weiteres dazu findest du auch hier: http://translation.autoit.de/onlinehilfe/intro/running.htm
    Falls du etwas anderes vorhast dann musst du dich vermutlich verständlicher ausdrücken.

    Ich möchte eine Anwendung erstellen, diese möchte von einem Batchskript starten z.B programm.exe parameter1. Das Programm wird mit diesem Parameter gestartet und gibt die Ausgabe zurück in cmd (da wo Batchdatei gestartet wurde) zurück.

    Sowas:

    Code
    C:\Program Files (x86)\MegaRAID Storage Manager>StorCLI.exe /c0/v0 show
    Controller = 0
    Status = Success
    Description = None
  • Programm für CMD erstellen, welche von .bat gestartet wird

    • de1m
    • 13. Februar 2014 um 16:06

    Hallo Leute,
    Suche schon länger nach einer Lösung und zwar ich möchte ein Programm erstellen, welche von einem Batch Skript mit bestimmten Parameter ausgeführt wird und die Ausgabe sollte auch im selben CMD Fenster ersvheinen.

    So ungefähr:

    Code
    programm parameter1

    Ausgabe

    Code
    Status = OK


    Kann man hier irgendwi StdoutRead und Consolewrite benutzen?

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™