und wieder dll und Markt - Seite 17

 
Maxim Kuznetsov:

http hat keine -u oder --output-file Kopfzeilen

aber alle Kopfzeilen werden als Schlüssel:Wert, getrennt durch \r\n, übergeben (das ist fast genau das Referenzzitat)

curl hat einen Schalter, der die gesamte Kommunikation mit dem Server (und alle Header) im Detail ausgibt...

===

"Lies Mana, sie regieren"

Sie haben wahrscheinlich recht, und der Screenshot von postman, in dem das Ausgabepaar in den http-Request-Header geschrieben wird, wird auf eine andere Weise erklärt )

ich vermute, dass wir immer noch über dieselbe Sache sprechen, nur mit anderen Worten )

 
Nikolai Karetnikov:

und bitte, bitte, nicht mehr playsound() es ist verständlich, und das Problem ist völlig anders! )))

Die Aufgabe besteht darin, die Autorisierung in der IBM-Cloud mithilfe von WebRequest durchzuführen.

Übrigens, die Ausgabe in die Datei enthält die Kopfzeilen


Ich würde nicht sagen, dass alles so klar war mit PlaySound )))) Es stellte sich zum Beispiel heraus, dass trotz der Dokumentation die .wav-Datei aus dem Ordner Files abgespielt wird (ohne die Ihr Projekt geschlossen werden könnte) und dass die dynamischen EA-Ressourcen die abgespielten Sounddateien nicht tragen können, da alles in uint gespeichert wird.

Was die Autorisierung in der IBM-Cloud mit WebRequest angeht, so weiß ich nicht mehr als Sie hier, bis jetzt... Ich muss lernen. Experiment... Es wird Zeit brauchen.

Документация по MQL5: Сетевые функции / WebRequest
Документация по MQL5: Сетевые функции / WebRequest
  • www.mql5.com
Для использования функции WebRequest() следует добавить адреса серверов в список разрешенных URL во вкладке "Советники" окна "Настройки". Порт сервера выбирается автоматически на основе указанного протокола - 80 для "http://" и 443 для "https://". Функция WebRequest() является синхронной, это означает, что она приостанавливает выполнение...
 
Реter Konow:

Scheiße, ich stecke bei den Gewerkschaften fest. Webrequest gibt ein dynamisches char-Array zurück, und um es in einer Ressource zu speichern, muss es in uint umgewandelt werden. Dies ist kein Problem, wenn Sie eine Union deklarieren, aber die Union erlaubt Ihnen nur, statische Arrays zu deklarieren. Sie können kein statisches Array an webbrequest senden, da die Größe der Rückgabedatei undefiniert ist.

WebBrequest sollte längst vergessen sein wie ein schlechter Traum.

SocketRead liest in uchar-Array, und dann können Sie tun, was Sie wollen mit ihm. In den Beispielen aus der verlinkten Dokumentation, die ich bereits zweimal zitiert habe, ist das Abrufen von Antworten über HTTP einfach implementiert. Ändern Sie es entsprechend der Aufgabe und voilà.

 
Serhii Shevchuk:

Es ist höchste Zeit, Webrequest wie einen schlechten Traum zu vergessen.

SocketRead liest in das uchar-Array und dann können Sie damit tun, was Sie wollen. In den Beispielen aus der verlinkten Dokumentation, die ich bereits zweimal zitiert habe, ist eine HTTP-Antwort implementiert. Ändern Sie es entsprechend der Aufgabe - und voilà.

Ich stimme zu, dass man in dieser Richtung graben muss. Obwohl das Genehmigungsproblem unlösbar scheint, ist es aus irgendeinem Grund... Vielleicht liege ich ja wieder falsch))).

 
Serhii Shevchuk:

Es ist höchste Zeit, Webrequest wie einen schlechten Traum zu vergessen.

SocketRead liest in das uchar-Array und dann können Sie damit tun, was Sie wollen. In den Beispielen aus der verlinkten Dokumentation, die ich bereits zweimal zitiert habe, ist eine HTTP-Antwort implementiert. Ändern Sie es entsprechend Ihrer Aufgabe - und voila.

Webrequest, wie auch Socket für die Datenübertragung, verwendet Verbindungsöffnung.
Der Webrequest erzeugt implizit eine Session, bei Sockets bauen wir explizit eine Verbindung auf.
In beiden Fällen wird also zunächst der Kanal für die Datenübertragung auf die eine oder andere Weise geöffnet.
Socket ist nützlich, wenn wir Daten für eine lange Zeit übertragen müssen, ohne die Verbindung zu schließen, dann ja es macht Sinn, es zu verwenden.
Wenn der Socket jedoch für eine einmalige Anfrage verwendet wird, macht dies keinen Sinn.
Denn jedes Mal, wenn eine Anfrage gestellt wird, wird eine neue Verbindung aufgebaut, was Zeit kostet.
Und http-Verbindung nach meinen Messungen in C zu schaffen, von 100 Millisekunden und mehr.

 
Stellen Sie zwei Anfragen - die erste ist eine Genehmigungsanfrage und die zweite eine Dateikonvertierungsanfrage. Vielleicht habe ich Blödsinn gesagt, vielleicht aber auch nicht...))
 

Ich habe ein Softwareprogramm gefunden, das den Text in eine .wav-Datei umwandelt und direkt in den Ordner "Dateien" verschiebt.

Bild6

 
Roman:

Sowohl Webrequest als auch Data Socket verwenden Verbindungsöffnung.
Webquest erstellt implizit eine Sitzung, während wir bei Sockets explizit eine Verbindung herstellen.
In beiden Fällen wird also zunächst der Kanal für die Datenübertragung auf die eine oder andere Weise geöffnet.
Socket ist nützlich, wenn wir Daten für eine lange Zeit übertragen müssen, ohne die Verbindung zu schließen, dann ja es macht Sinn, es zu verwenden.
Wenn der Socket jedoch für eine einmalige Anfrage verwendet wird, macht dies keinen Sinn.
Denn bei jeder Anfrage wird eine neue Verbindung aufgebaut, was Zeit kostet.
Und http-Verbindung durch meine Messungen in C zu schaffen, von 100 Millisekunden und mehr.

Roman! Das ist es, was Sie wirklich verpasst haben! Sie haben das Gefühl, etwas zu wissen und Übung zu haben! )

Ich werde jedoch versuchen, WebRequest zu ändern.

Документация по MQL5: Сетевые функции / WebRequest
Документация по MQL5: Сетевые функции / WebRequest
  • www.mql5.com
Для использования функции WebRequest() следует добавить адреса серверов в список разрешенных URL во вкладке "Советники" окна "Настройки". Порт сервера выбирается автоматически на основе указанного протокола - 80 для "http://" и 443 для "https://". Функция WebRequest() является синхронной, это означает, что она приостанавливает выполнение...
 
Nikolai Karetnikov:

Roman! Das war es, was wirklich fehlte! Man kann sowohl Wissen als auch Praxis spüren! )

Ich werde versuchen, WebRequest zu ändern

Fragen Sie also Roman, wie man die Autorisierung auf dem IBM-Server mitWebRequest implementieren kann- das ist eine Schlüsselfrage!

Документация по MQL5: Сетевые функции / WebRequest
Документация по MQL5: Сетевые функции / WebRequest
  • www.mql5.com
Для использования функции WebRequest() следует добавить адреса серверов в список разрешенных URL во вкладке "Советники" окна "Настройки". Порт сервера выбирается автоматически на основе указанного протокола - 80 для "http://" и 443 для "https://". Функция WebRequest() является синхронной, это означает, что она приостанавливает выполнение...
 
Реter Konow:

Fragen Sie also Roman, wie man die Autorisierung auf dem IBM-Server mitWebRequest durchführt- das ist die Schlüsselfrage!

Ich bin nicht auf die Frage eingegangen, aber so wie ich es verstehe, wird ein Schlüssel verwendet, der im Voraus an der Stelle eingeholt wird, an der die Anfrage gesendet wird.
In diesem Fall ist keine Autorisierung erforderlich, die Identifizierung erfolgt über den Schlüssel.
Wir müssen uns das Beispiel der Antragsstruktur auf der Website genau ansehen.
Wenn ich mich an ein Beispiel erinnere, wird der Text der Anfrage verwendet.
Das heißt, die Kopfzeilen bleiben Kopfzeilen, aber der Text wird an den Textkörper der Anfrage gesendet.