そしてまた、DellとMarket - ページ 20

 
Alexsandr San:

このサイトでは、テキストファイルをアップロードすると、.wav ファイルが得られます。

どのように自動で整理するかが問題です!https://audio.online-convert.com/convert-to-wav

英語のみ。

あなたの例は良いのですが、このサイトでは認証がなく、つまりリクエストで複数のヘッダーを指定する必要がなく、したがってそのようなエントリーの構文を理解する必要もありません。

もしかしたら、私が間違って いるのかもしれませんが、あるヘッダの場合にハングアップし、別のヘッダの場合に認証エラーが発生するという説明は、他に見当たりません。以下は、2つのヘッダーを持つコードです。

//+------------------------------------------------------------------+
//|                                                   WebRequest.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string cookie=NULL,headers;
   char   post[],result[];
   char cost_char_data[];
   string  result_headers;
   
   ResetLastError();
   ArrayFree(result);
  // headers = "Authorization: Basic YXBpa2V5OkdSMWJiM3pWTXM5ZmNOS0w2cEE5LTV6ajlwdFdsaUN1NmVoOW91cFVucFpC/r/n";
   headers = "Authorization: Basic YXBpa2V5OkdSMWJiM3pWTXM5ZmNOS0w2cEE5LTV6ajlwdFdsaUN1NmVoOW91cFVucFpC";
//   headers = headers + "Accept: audio/wav";
   headers = headers + "/r/nAccept: audio/wav/r/n";
  // headers = headers + "Accept: audio/wav/r/n";
 
   string url="https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST";
               
   int res = WebRequest("GET",url,headers,1000,cost_char_data,result,result_headers);

   if(res==-1)
     {
      printf("Ошибка в WebRequest. Код ошибки  =",GetLastError());
      //--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления
      MessageBox("Необходимо добавить адрес '"+url+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION);
     }
   else
     {
      if(res==200)
        {
         //--- успешная загрузка
         printf("Файл успешно загружен, размер %d байт.",ArraySize(result));
         printf("Заголовки сервера: %s",result_headers);
         //--- сохраняем данные в файл
         int filehandle=FileOpen("testmql5.ogg",FILE_WRITE|FILE_BIN);
         if(filehandle!=INVALID_HANDLE)
           {
            //--- сохраняем содержимое массива result[] в файл
            FileWriteArray(filehandle,result,0,WHOLE_ARRAY);
            //--- закрываем файл
            FileClose(filehandle);
            printf("FileClose");
            
           }
         else
            printf("Ошибка в FileOpen. Код ошибки =",GetLastError());
        }
      else
         printf("Ошибка загрузки '%s', код %d",url,res);
     }
  }
//+------------------------------------------------------------------+

2つ目のヘッダを追加した時点で、認証が機能しなくなる

2020.06.01 12:46:45.044 Webrequest4Voice (EURAUD,H1) Upload error 'https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST', code 401

ヘッダーが1つの場合、認証は機能するが、ストリームが余分な文字でファイルに駆動されるため、オーディオファイルを再生することが不可能になる

 
Nikolai Karetnikov:

もうひとつ問題がある。専門家の間では、「何らかの不具合がある」と言われています)。

WebRequestがフリーズしても、ストリームを受信する方法については、上記の 通りです。ストリームがファイルに たどり着き、壊れていることが判明する。おそらく、ファイルへの入れ方が間違って いるのでしょうが、デッドロックの瞬間にchar配列に余計な情報が入ってしまう可能性が高いです。

今、私たちが対処すべきはこれだ

httpがどのようにデータを転送しているかを読む(!!) チャンクされた何かについて :-)

コンテンツの最初の行はサービスデータ(記憶が正しければ長さ)、そしてその後にのみバイナリファイルのデータ

 
ヘッダーの先頭や末尾にスペースを入れるなど、何か別の方法で、ヘッダーに/r/n改行 文字を追加すべきかもしれませんね。実例がないとわかりにくい
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Символы, как элемент строки, в MQL5 - это индексы в наборе символов Unicode. Они являются 16-разрядными значениями, которые можно преобразовывать в целые числа и с которыми можно манипулировать целочисленными операциями, такими как сложение и вычитание. Любой одиночный символ, заключенный в одинарные кавычки, или шестнадцатеричный ASCII-код...
 
Nikolai Karetnikov:

もうひとつ問題がある。専門家の間では、「何らかの不具合がある」と言われています)。

WebRequestがフリーズしても、ストリームを受信する方法については、WebRequest 機能が特定の方法で動作し、その使用方法が内部的に制限 されている場合 」に該当します。"

スクリプトをテストしてみたところ、「キーはどこから来たのだろう?

代理人と話をした。というのが、最初の質問だった。

無料プランと有料プランのどちらをお使いですか?

そしてもうひとつ。

こんにちは、IBM Cloudにお問い合わせいただきありがとうございます。 技術的なサポートについては、私たちは主にセルフサービスプラットフォームであるため、自由に利用できるすべてのドキュメントを確認することをお勧めします。

しかし、あなたが興味のあるトピックについてもっと話すことができるリンクを与えた: https://www.ibm.com/watson、下部にチャットのアイコンがありますLet's talk!

さらに、彼がくれた別のリンクから、このページが開かれた。


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

どうやらサービスは有料のようです。

月10,000文字までなら無料でボイス化できます。

 
Реter Konow:

これは、3.の「WebRequest 機能が特定の方法で動作し、その使用方法が内部的に制限 されている場合 」に該当します。"

スクリプトをテストしているときに、「キーはどこから来るのか?

代理人と話をした。というのが、最初の質問だった。

無料プランと有料プランのどちらをお使いですか?

そしてもうひとつ。

こんにちは、IBM Cloudにお問い合わせいただきありがとうございます。 技術的なサポートについては、私たちは主にセルフサービスプラットフォームであるため、自由に利用できるすべてのドキュメントを確認することをお勧めします。

しかし、あなたが興味のあるトピックについてもっと話すことができるリンクを与えた: https://www.ibm.com/watson、下部にチャットのアイコンがありますLet's talk!

さらに、彼がくれた別のリンクから、このページが開かれた。


マキシム・クズネツォフ

httpがどのようなデータを提供するのかを読む(!!)・・・チャンクされた何かについて :-)

の場合、1行目がサービスデータ(記憶が正しければ長さ)で、その後にバイナリファイルデータがあります。

ありがとうございました。

いくつかの情報を読んで、私のコードにエラーを見つけ、それを修正し、WebRequestはハングアップを停止し、ストリームを取得しますが、私はとにかくファイルに次の情報を参照してください。

どこかに別の「何か」があるに違いない ))

 
写真を見てください。月間10,000文字までの無料プラン。
 
Maxim Kuznetsov:

httpがどのようにデータを与えるかを読む(!!) チャンクされた何かについて :-)

コンテンツの最初の行にはサービスデータ(記憶が正しければ長さ)が含まれ、その後にファイルのバイナリデータが含まれます。

すなわち、回収可能なストリームにおいて、私は今、理解しました。


00000089はサービスデータですが、これを無視させる方法がわかりません。

 
Реter Konow:
写真を見てください。無料プランは月10,000文字までです。

はい、はい、その通りです。以前、 ここでも書いたことがあるのですが

и снова dll и маркет
и снова dll и маркет
  • 2020.05.31
  • www.mql5.com
День добрый! Правило №1 dll на Маркете запрещен...
 
Реter Konow:
写真を見てください。月間10,000文字までの無料プラン。

ウェブサイトで登録し、プロンプトに従うと、ある時点でapikeyが 記載されたページが表示されます。