그리고 다시 dll과 시장 - 페이지 20

 
Alexsandr San :

여기 이 사이트에서 - 나는 텍스트 파일을 업로드했고 - .wav 파일을 얻었습니다.

자동으로 정리하는 방법이 문제!? https://audio.online-convert.com/convert-to-wav

영어 만

귀하의 예는 훌륭하지만 이 사이트에 대한 승인이 없습니다. 요청에 여러 헤더를 지정할 필요가 없습니다. 즉, 이러한 항목의 구문을 이해할 필요가 없습니다.

어쩌면 내가 틀릴 수도 있지만 한 헤더의 경우 끊김에 대한 다른 설명과 다른 헤더의 경우 권한 부여 오류에 대한 다른 설명을 찾을 수 없습니다. 다음은 두 개의 헤더가 있는 코드입니다.

 //+------------------------------------------------------------------+
//|                                                   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);
     }
  }
//+------------------------------------------------------------------+

두 번째 헤더가 추가되는 즉시 권한 부여가 작동을 멈춥니다.

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

하나의 헤더로 인증이 작동하지만 파일에 대한 스트림은 사운드 파일을 재생할 수 없도록 하는 추가 문자로 구동됩니다.

 
Nikolai Karetnikov :

다른 문제. 우리 전문가들 사이에서 "어떤 종류의 오작동이 있습니다")))

조금 더 높으면 WebRequest가 멈추는 방법을 자세히 썼지만 그럼에도 불구하고 스트림을 수신합니다. 파일에 들어가는 스트림이 두들겨 패었습니다. 파일에 잘못 넣었을 수도 있지만 "매달린" 순간에는 char 배열이 관련 없는 정보로 채워져 있을 가능성이 큽니다.

이것이 지금 처리해야 하는 것입니다.

http가 데이터를 제공하는 형식으로 (!!) 읽기 .. 청크에 대한 것 :-)

내용에서 첫 번째 줄은 서비스 데이터(메모리가 제공되는 경우 long)이고 그 다음에는 파일의 이진 데이터입니다.

 
줄 바꿈 문자 /r/n은 헤더에 다르게 추가되어야 합니다. 헤더의 시작이나 끝에 공백이 필요하다고 가정해 보겠습니다. 실제 예제 없이는 이것을 알아내기가 어렵습니다.
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Символы, как элемент строки, в MQL5 - это индексы в наборе символов Unicode. Они являются 16-разрядными значениями, которые можно преобразовывать в целые числа и с которыми можно манипулировать целочисленными операциями, такими как сложение и вычитание. Любой одиночный символ, заключенный в одинарные кавычки, или шестнадцатеричный ASCII-код...
 
Nikolai Karetnikov :

다른 문제. 그들이 우리 전문가들 사이에서 말했듯이 : "어떤 종류의 오작동이 있습니다"))

조금 기능 이 특정 방식으로 작동하고 해당 용도에 대해 내부적으로 제한되어 있습니다. "

스크립트를 테스트했지만 여전히 질문이 있습니다. 키는 어디에서 왔습니까?

에이전트와 채팅했습니다. 그가 던진 첫 번째 질문은 다음과 같습니다.

걱정 마세요. 무료 또는 유료 요금제를 사용 중이신가요?

그리고 더:

안녕하세요, IBM Cloud에 문의해주셔서 감사합니다. 기술 지원의 경우 당사는 주로 셀프 서비스 플랫폼이므로 사용 가능한 모든 문서를 확인하는 것이 좋습니다.

하지만 관심 있는 주제에 대해 더 자세히 이야기할 수 있는 링크를 제공했습니다. https://www.ibm.com/watson 하단에 채팅 아이콘이 있습니다. 이야기하자!

또한, 그의 링크 중 다른 하나가 나를 위해 이 페이지를 열었습니다.


Документация по 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 하단에 채팅 아이콘이 있습니다. 이야기하자!

또한, 그의 링크 중 다른 하나가 나를 위해 이 페이지를 열었습니다.


막심 쿠즈네초프 :

http가 데이터를 제공하는 형식으로 (!!) 읽기 .. 청크에 대한 것 :-)

내용에서 첫 번째 줄은 서비스 데이터(메모리가 제공되는 경우 long)이고 그 다음에는 파일의 이진 데이터입니다.

고맙습니다!

나는 무언가를 읽고, 내 코드에서 잼을 발견하고, 그것을 고쳤습니다. WebRequest가 멈추고 스트림을 펌핑했지만 파일에서 여전히 이것을 봅니다.

어딘가에 버그가 있는 것 같습니다.

 
사진을 봐. 한 달에 최대 10,000자까지 무료 플랜입니다.
 
Maxim Kuznetsov :

http가 데이터를 제공하는 형식으로 (!!) 읽기 .. 청크에 대한 것 :-)

내용에서 첫 번째 줄은 서비스 데이터(메모리가 제공되는 경우 long)이고 그 다음에는 파일의 이진 데이터입니다.

저것들. 이제 반환 스트림에서


00000089는 서비스 정보인데 무시하는 방법을 모르겠음

 
Реter Konow :
사진을 봐. 한 달에 최대 10,000자까지 무료 플랜입니다.

네 네 맞습니다. 여기에 대해서도 썼습니다.

и снова dll и маркет
и снова dll и маркет
  • 2020.05.31
  • www.mql5.com
День добрый! Правило №1 dll на Маркете запрещен...
 
Реter Konow :
사진을 봐. 한 달에 최대 10,000자까지 무료 플랜입니다.

사이트에 등록하고 프롬프트를 따르면 어느 순간 apikey 가 표시된 페이지가 나타납니다.