e di nuovo dll e mercato - pagina 17

 
Maxim Kuznetsov:

http non ha intestazioni -u o --output-file

ma tutte le intestazioni sono passate come chiave:valore separate da \r\n (che è quasi esattamente la citazione di riferimento)

curl ha uno switch che stamperà l'intera comunicazione con il server (e tutte le intestazioni) in dettaglio...

===

"leggere il mana, loro governano"

probabilmente hai ragione, e lo screenshot di postman, dove la coppia di output è scritta nell'intestazione della richiesta http è spiegato in qualche altro modo )

Ho il sospetto che stiamo ancora parlando della stessa cosa, ma con parole diverse )

 
Nikolai Karetnikov:

e per favore, per favore, niente più playsound() è comprensibile, e il problema è completamente diverso! )))

Il compito è quello di eseguire l'autorizzazione sul cloud IBM utilizzando WebRequest.

A proposito, l'output del file arriva alle intestazioni


Non direi che tutto era così chiaro con PlaySound )))) Si è scoperto per esempio che, nonostante la documentazione, il .wav viene riprodotto dalla cartella Files, (senza la quale il progetto potrebbe essere chiuso) e che le risorse dinamiche EA non possono trasportare i file audio riprodotti, perché tutto viene salvato in uint.

Per quanto riguarda l'autorizzazione nella nuvola IBM con WebRequest, non ne so più del vostro qui, finora... Ho bisogno di studiare. Esperimento... Ci vorrà del tempo.

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

Merda! Sono bloccato sui sindacati. Webrequest restituisce un array dinamico di char, e per memorizzarlo in una risorsa, deve essere convertito in uint. Questo non è un problema se si dichiara un'unione, ma l'unione permette solo di dichiarare array statici. Non puoi inviare un array statico a webbrequest, perché la dimensione del file di ritorno è indefinita.

WebBrequest dovrebbe essere dimenticato da tempo come un brutto sogno.

SocketRead legge nell'array uchar, e poi potete farci quello che volete. Negli esempi della documentazione linkata, che ho già citato due volte, ottenere la risposta via HTTP è appena implementato. Modificatelo per adattarlo al compito e voilà.

 
Serhii Shevchuk:

È giunto il momento di dimenticare webrequest come un brutto sogno.

SocketRead legge l'array uchar e poi potete farci quello che volete. Negli esempi della documentazione linkata, che ho già citato due volte, la risposta HTTP è implementata. Modificatelo per adattarlo al compito - e voilà.

Sono d'accordo, bisogna scavare in questa direzione. Anche se il problema dell'autorizzazione sembra irrisolvibile, per qualche motivo... Forse mi sbaglio di nuovo))).

 
Serhii Shevchuk:

È giunto il momento di dimenticare webrequest come un brutto sogno.

SocketRead legge l'array uchar e poi potete farci quello che volete. Negli esempi della documentazione linkata, che ho già citato due volte, la risposta HTTP è implementata. Modificatelo per adattarlo al vostro compito - e voilà.

Webrequest, così come il socket per il trasferimento dei dati, utilizza l'apertura della connessione.
La webrequest crea una sessione implicitamente, con i socket, si stabilisce esplicitamente una connessione.
Quindi, in entrambi i casi, il canale per il trasferimento dei dati viene aperto prima in un modo o nell'altro.
Socket è utile quando abbiamo bisogno di trasferire dati per molto tempo senza chiudere la connessione, allora sì, ha senso usarlo.
Ma se il socket è usato per una richiesta una tantum, non ha senso.
Perché ogni volta la richiesta creerà una nuova connessione, il che richiede tempo.
E per creare la connessione http secondo le mie misure in C, da 100 millisecondi in su.

 
Fai due richieste - la prima è una richiesta di autorizzazione e la seconda è una richiesta di conversione di file. Forse ho detto delle sciocchezze, ma forse no...))
 

Ho trovato un software che converte il testo in .wav e va direttamente nella cartella Files.

Immagine6

 
Roman:

Sia webrequest che data socket usano l'apertura della connessione.
Webquest crea una sessione implicitamente, mentre con i socket stabiliamo esplicitamente una connessione.
Quindi, in entrambi i casi, il canale per il trasferimento dei dati viene aperto prima in un modo o nell'altro.
Socket è utile quando abbiamo bisogno di trasferire dati per molto tempo senza chiudere la connessione, allora sì, ha senso usarlo.
Ma se il socket è usato per una richiesta una tantum, non ha senso.
Poiché ogni volta la richiesta creerà una nuova connessione, il che richiede tempo.
E per creare una connessione http secondo le mie misure in C, da 100 millisecondi in su.

Romano! Ecco cosa ti sei perso! Senti di sapere e di avere pratica! )

Proverò a modificare WebRequest però.

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

Romano! Ecco cosa mancava davvero! Si può sentire sia la conoscenza che la pratica! )

Proverò a modificare WebRequest

Quindi, chiedete a Roman, come implementare l'autorizzazione sul server IBM conWebRequest. Questa è una domanda chiave!

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

Quindi chiedi a Roman come fare l'autorizzazione sul server IBM conWebRequest. Questa è la domanda chiave!

Non ho approfondito la questione, ma da quanto ho capito, si usa una chiave che si ottiene in anticipo nel sito dove si invia la richiesta.
In questo caso l'autorizzazione non è necessaria, l'identificazione avviene tramite chiave.
Dobbiamo guardare attentamente l'esempio della struttura della richiesta sul sito.
Come ricordo da un esempio, si usa il corpo della richiesta.
Cioè, le intestazioni sono intestazioni, ma il testo viene inviato al corpo della richiesta.