et encore dll et marché - page 17

 
Maxim Kuznetsov:

http n'a pas les en-têtes -u ou --output-file

mais tous les en-têtes sont transmis sous la forme clé:valeur séparés par des \r\n (c'est presque exactement la citation de référence)

curl possède un commutateur qui permet d'imprimer toute la communication avec le serveur (et tous les en-têtes) en détail...

===

"lisez le mana, ils règnent"

vous avez probablement raison, et la capture d'écran de postman, où la paire de sortie est écrite dans l'en-tête de requête http est expliquée d'une autre manière ;)

je pense que nous parlons toujours de la même chose, mais avec des mots différents ;)

 
Nikolai Karetnikov:

et s'il vous plaît, s'il vous plaît, plus de playsound() c'est compréhensible, et le problème est complètement différent ! )))

La tâche consiste à effectuer une autorisation sur le cloud IBM en utilisant WebRequest.

Au fait, la sortie vers le fichier atteint les en-têtes.


Je ne dirais pas que tout était si clair avec PlaySound )))). Il s'est avéré par exemple que malgré la documentation, le .wav est joué depuis le dossier Files, (sans lequel votre projet pourrait être fermé) et que les ressources dynamiques de l'EA ne peuvent pas porter les fichiers sons joués, car tout est enregistré en uint.

Quant à l'autorisation dans le nuage IBM avec WebRequest, je n'en sais pas plus que vous ici, jusqu'à présent... J'ai besoin d'étudier. Expérimentez... Cela prendra du temps.

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

Merde ! Je suis bloqué sur les syndicats. Webrequest retourne un tableau dynamique de chars, et pour le stocker dans une ressource, il doit être converti en uint. Ce n'est pas un problème si vous déclarez une union, mais l'union ne vous permet que de déclarer des tableaux statiques. Vous ne pouvez pas envoyer un tableau statique à webbrequest, car la taille du fichier de retour est indéfinie.

WebBrequest devrait être oublié depuis longtemps comme un mauvais rêve.

SocketRead lit dans un tableau uchar, et ensuite vous pouvez en faire ce que vous voulez. Dans les exemples de la documentation liée, que j'ai déjà cités deux fois, l'obtention d'une réponse via HTTP est simplement implémentée. Modifiez-le en fonction de la tâche à accomplir et voilà.

 
Serhii Shevchuk:

Il est grand temps d'oublier le webrequest comme un mauvais rêve.

SocketRead lit dans le tableau uchar et ensuite vous pouvez faire ce que vous voulez avec. Dans les exemples de la documentation liée, que j'ai déjà cités deux fois, la réponse HTTP est implémentée. Modifiez-le en fonction de la tâche à accomplir - et voilà.

Je suis d'accord, vous devez creuser dans cette direction. Bien que le problème des autorisations semble insoluble, pour une raison quelconque... Peut-être que je me trompe encore))).

 
Serhii Shevchuk:

Il est grand temps d'oublier le webrequest comme un mauvais rêve.

SocketRead lit le tableau uchar et vous pouvez ensuite en faire ce que vous voulez. Dans les exemples de la documentation liée, que j'ai déjà cités deux fois, la réponse HTTP est implémentée. Modifiez-le en fonction de votre tâche - et voilà.

La requête web, tout comme le socket pour le transfert de données, utilise l'ouverture de connexion.
La requête web crée une session implicitement, avec les sockets, on établit explicitement une connexion.
Ainsi, dans les deux cas, le canal de transfert des données est d'abord ouvert d'une manière ou d'une autre.
Socket est utile lorsque nous devons transférer des données pendant une longue période sans fermer la connexion, alors oui, il est logique de l'utiliser.
Mais si le socket est utilisé pour une demande unique, cela n'a aucun sens.
Parce qu'à chaque demande, une nouvelle connexion est créée, ce qui prend du temps.
Et pour créer la connexion http selon mes mesures en C, à partir de 100 millisecondes et plus.

 
Faites deux demandes - la première est une demande d'autorisation et la seconde est une demande de conversion de fichier. Peut-être ai-je dit des bêtises, mais peut-être pas...))
 

J'ai trouvé un logiciel qui convertit le texte en .wav et va directement dans le dossier Files.

Photo 6

 
Roman:

Le webrequest et le data socket utilisent tous deux l'ouverture de connexion.
Webquest crée une session de manière implicite, alors qu'avec les sockets, nous établissons explicitement une connexion.
Ainsi, dans les deux cas, le canal de transfert des données est d'abord ouvert d'une manière ou d'une autre.
Socket est utile lorsque nous devons transférer des données pendant une longue période sans fermer la connexion, alors oui, il est logique de l'utiliser.
Mais si le socket est utilisé pour une demande unique, cela n'a aucun sens.
Parce qu'à chaque demande, une nouvelle connexion est créée, ce qui prend du temps.
Et pour créer la connexion http par mes mesures en C, à partir de 100 millisecondes et plus.

Roman ! C'est ce que vous avez vraiment manqué ! Vous avez l'impression de savoir et d'avoir de la pratique ! )

Je vais essayer de modifier WebRequest cependant.

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

Roman ! C'est ce qui manquait vraiment ! On peut ressentir à la fois la connaissance et la pratique ! )

Je vais essayer de modifier WebRequest

Alors, demandez à Roman comment mettre en œuvre l'autorisation sur le serveur IBM avecWebRequest. C'est une question clé !

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

Demandez donc à Roman comment faire une autorisation sur un serveur IBM avecWebRequest. C'est la question clé !

Je ne suis pas entré dans la question, mais d'après ce que j'ai compris, une clé est utilisée, qui est obtenue à l'avance sur le site où la demande est envoyée.
Dans ce cas, l'autorisation n'est pas nécessaire, l'identification se fait par clé.
Nous devons examiner attentivement l'exemple de structure de demande sur le site.
Si je me souviens d'un exemple, le corps de la demande est utilisé.
C'est-à-dire que les en-têtes sont des en-têtes, mais le texte est envoyé dans le corps de la demande.