并再次进行dll和营销 - 页 15 1...8910111213141516171819202122...32 新评论 Maxim Kuznetsov 2020.05.31 19:15 #141 Реter Konow: 401错误是什么意思? 在Yandex中输入 "http 401",它会告诉你一切细节。 Andrei Trukhanovich 2020.05.31 19:20 #142 Nikolai Karetnikov: 代码结果 -"Webrequest4Voice(EURCHF,D1) 下载错误'https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST',代码401" 401是服务器需要认证 拿一个查询模拟器(比如postman),在那里做一个正常的请求,然后把它转移到mql。 或者像马克西姆在上面写的那样 Реter Konow 2020.05.31 19:20 #143 Maxim Kuznetsov: 在Yandex中输入 "http 401",它会告诉你一切细节。 谁说有一个http错误?TC没有解释,我不得不去查?)))。 [删除] 2020.05.31 19:26 #144 https://example-files.online-convert.com/audio/wav/example.wav 从这里下载,没有任何问题 并播放声音 Реter Konow 2020.05.31 19:29 #145 Alexsandr San:https://example-files.online-convert.com/audio/wav/example.wav从这里下载,没有任何问题 如果下载的文件在下载后立即被写入Files文件夹,那么它的 可播放性如何?在代码中添加几行,你就可以测试了。 [删除] 2020.05.31 19:34 #146 Реter Konow: 而如果PlaySound在下载文件后立即将其播放到Files文件夹中,那么下载的文件如何播放?在代码中添加几行,你就可以测试它了。 所以,它直接进入了Files 文件夹,一切都很正常。 ------------------------------------------------------------------ 我就是这样做的。 ? 它的下载和播放的时候了 ? int filehandle=FileOpen("example.wav",FILE_WRITE|FILE_BIN); if(filehandle!=INVALID_HANDLE) { //--- сохраняем содержимое массива result[] в файл FileWriteArray(filehandle,result,0,ArraySize(result)); //--- закрываем файл FileClose(filehandle); Sleep(1*1000); PlaySound("\\Files\\example.wav"); } Реter Konow 2020.05.31 19:36 #147 Alexsandr San: 这样它就会直接进入Files 文件夹 好的,在这之后的代码中是否有PlaySound的调用?这样一来,一经下载,马上就能播放。 Nikolai Karetnikov 2020.05.31 19:39 #148 Maxim Kuznetsov: 要把一个HTTP请求从curl选项翻译成WebRequest 参数,你必须这样做。 1.一般来说,看看维基百科,看看HTTP是如何结构的 2.在Curl文档中查看选项的含义以及为什么要使用它们 3.阅读WebRequest的帮助,看看例子,甚至在这个主题中也有很多 4.你在写代码的时候应该意识到你做了什么:-)什么,为什么,为什么会被使用。 你显然是在期待所有4点都能为你完成。我知道现在是周末,时间很紧,你有很多想法。它必须是快速的。 但我还是要自己做。 马克西姆,)那么,这有什么意义呢? 在curl中,只有一个参数--"-u "是授权或用户,后面是apikey。 在WebRequest的帮助文件中,你可以弄清楚如何用雅虎金融的响应来填充产生的json数组。 这个主题中所有的WebRequest例子都是帮助中的一个也是唯一的一个脚本,我在整个过程中发布了))))。 意识到已经做了什么--没有例子就很难做到这一点。商业上提供TTS的网站都有使用.NET、Java、curl的例子,可以说是成熟的编程语言。他们甚至对像MQL这样的小东西都没有头绪。 因此,你的帖子在理论上是重要的,但在实用性上却无足轻重。 具体来说,对我来说,比如说,不清楚在哪里。 1)标题。 2) 网址或 3)其他地方。 你需要指定输出为wav文件,我找不到这样的例子,也找不到这样的书。 [删除] 2020.05.31 19:41 #149 总之,这就是它的工作方式。 //+------------------------------------------------------------------+ //| 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; headers = "-u apikey:GR1bb3zVMs9fcNKL6pA9-5zj9ptWliCu6eh9oupUnpZB --output hello_world.wav"; string url="https://example-files.online-convert.com/audio/wav/example.wav"; ResetLastError(); int res = WebRequest("GET",url,headers,1000,cost_char_data,result,result_headers); if(res==-1) { Print("Ошибка в WebRequest. Код ошибки =",GetLastError()); //--- возможно, URL отсутствует в списке, выводим сообщение о необходимости его добавления MessageBox("Необходимо добавить адрес '"+url+"' в список разрешенных URL во вкладке 'Советники'","Ошибка",MB_ICONINFORMATION); } else { if(res==200) { //--- успешная загрузка PrintFormat("Файл успешно загружен, размер %d байт.",ArraySize(result)); //PrintFormat("Заголовки сервера: %s",headers); //--- сохраняем данные в файл int filehandle=FileOpen("example.wav",FILE_WRITE|FILE_BIN); if(filehandle!=INVALID_HANDLE) { //--- сохраняем содержимое массива result[] в файл FileWriteArray(filehandle,result,0,ArraySize(result)); //--- закрываем файл FileClose(filehandle); Sleep(1*1000); PlaySound("\\Files\\example.wav"); } else Print("Ошибка в FileOpen. Код ошибки =",GetLastError()); } else PrintFormat("Ошибка загрузки '%s', код %d",url,res); } } //+------------------------------------------------------------------+ 只有网站是错的。 Реter Konow 2020.05.31 19:42 #150 Alexsandr San: 所以,它直接进入了Files 文件夹,一切都很正常。 ------------------------------------------------------------------ 我就是这样做的。 ? 它的下载和播放的时候了 ? 我明白了,所以它是有效的。现在,TC所要做的就是把网络请求整理好,就可以了。 1...8910111213141516171819202122...32 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
401错误是什么意思?
在Yandex中输入 "http 401",它会告诉你一切细节。
代码结果 -"Webrequest4Voice(EURCHF,D1) 下载错误'https://api.eu-gb.text-to-speech.watson.cloud.ibm.com/instances/9886a3ce-5734-455f-8f78-7a56381da686/v1/synthesize?text=TEST',代码401"
401是服务器需要认证
拿一个查询模拟器(比如postman),在那里做一个正常的请求,然后把它转移到mql。
或者像马克西姆在上面写的那样在Yandex中输入 "http 401",它会告诉你一切细节。
https://example-files.online-convert.com/audio/wav/example.wav
从这里下载,没有任何问题
并播放声音
https://example-files.online-convert.com/audio/wav/example.wav
从这里下载,没有任何问题
而如果PlaySound在下载文件后立即将其播放到Files文件夹中,那么下载的文件如何播放?在代码中添加几行,你就可以测试它了。
所以,它直接进入了Files 文件夹,一切都很正常。
------------------------------------------------------------------
我就是这样做的。
? 它的下载和播放的时候了 ?
这样它就会直接进入Files 文件夹
要把一个HTTP请求从curl选项翻译成WebRequest 参数,你必须这样做。
1.一般来说,看看维基百科,看看HTTP是如何结构的
2.在Curl文档中查看选项的含义以及为什么要使用它们
3.阅读WebRequest的帮助,看看例子,甚至在这个主题中也有很多
4.你在写代码的时候应该意识到你做了什么:-)什么,为什么,为什么会被使用。
你显然是在期待所有4点都能为你完成。我知道现在是周末,时间很紧,你有很多想法。它必须是快速的。
但我还是要自己做。
马克西姆,)那么,这有什么意义呢?
在curl中,只有一个参数--"-u "是授权或用户,后面是apikey。
在WebRequest的帮助文件中,你可以弄清楚如何用雅虎金融的响应来填充产生的json数组。
这个主题中所有的WebRequest例子都是帮助中的一个也是唯一的一个脚本,我在整个过程中发布了))))。
意识到已经做了什么--没有例子就很难做到这一点。商业上提供TTS的网站都有使用.NET、Java、curl的例子,可以说是成熟的编程语言。他们甚至对像MQL这样的小东西都没有头绪。
因此,你的帖子在理论上是重要的,但在实用性上却无足轻重。
具体来说,对我来说,比如说,不清楚在哪里。
1)标题。
2) 网址或
3)其他地方。
你需要指定输出为wav文件,我找不到这样的例子,也找不到这样的书。
总之,这就是它的工作方式。
只有网站是错的。
所以,它直接进入了Files 文件夹,一切都很正常。
------------------------------------------------------------------
我就是这样做的。
? 它的下载和播放的时候了 ?