在 MQL5 中使用 WININET。第二部分:POST 请求和文件_wininet.mqh-程序员宅基地

技术标签: FinancialTrading  MT5  

简介

在前一课“使用 WinInet.dll 通过互联网在客户端之间交换数据”一课中,我们已经学习了如何使用库、打开网页、使用 GET 请求发送和接收信息。

在本课中,我们将学习如何:

  • 创建简单的 POST 请求并将请求发送到服务器;
  • 使用 multipart/form-data 表示法将文件发送到服务器;
  • 使用 Cookie 并通过登录从网站读取信息。

和以前一样,我强烈建议设置一台本地代理服务器 Charles;对于您的学习和进一步试验,它将是必不可少的。


POST 请求

为了发送信息,我们需要那些在 上一篇文章中详细说明的 wininet.dll 函数和创建的 CMqlNet 类。

由于在 CMqlNet::Request 方法中有大量的字段,我们不得不创建一个包含请求需要的所有字段的单独结构 tagRequest


//------------------------------------------------------------------ struct tagRequest struct tagRequest {   string stVerb;   // GET/POST/…请求的方法   string stObject; /  请求实例的路径,例如:"/index.htm" или "/get.php?a=1&
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_55389447/article/details/119088114

智能推荐

Stanford Machine Learning 学习 2016/7/4-程序员宅基地

认同度比较高的机器学习入门教程,由Stanford的Andrew Ng主讲.网易公开课上有中英文字幕的教学视频资源(http://open.163.com/special/opencourse/machinelearning.html),讲义戳这里:http://cs229.stanford.edu/materials.html 网络上有各种类似的课程学习笔记,也会是我学习的一部分...

springboot中使用socket对接第三方接口_socket调用第三方接口-程序员宅基地

1、接口对接需求如下1.1 socket协议1.2 报文中数据均是左对齐右补空格1.3 报文编码采用:GBK1.4 接口文档:2、代码import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.Socket;import java.util.List;impo_socket调用第三方接口

【camera】ISP-程序员宅基地

ISP1 DPC坏点校正1.1 图像坏点1.1.1 静态坏点1.1.2 动态坏点1.2 坏点校正1.2.1 坏点校正方法1.2.2 静态坏点校正1.2.3 动态坏点校正1.3 坏点与噪点1 DPC坏点校正1.1 图像坏点是什么Bad pixel。图像传感器上每一光线采集的点形成的阵列工艺存在缺陷,或光信号进行转化的过程中出现错误,会造成图像上有些像素的信息有误,导致图像中的像素值不准确,这些有缺陷的像素即为图像坏点。坏点类型hot pixel:比周围亮很多的点;dead pixel:比周围暗

Linux下安装jdk-6u45-linux-x64.bin_./jdk-6u45-linux-x64.bin 报错-程序员宅基地

1.从Oracle上下载jdk-6u45-linux-x64.bin 下载文件:jdk-6u45-linux-x64.bin 2.将jdk-6u45-linux-x64.bin拷贝到/usr/java里面 3进入/usr/java目录,修改jdk-6u45-linux-x64.bin的可执行权限chmod u+x jdk-6u45-linux-x64.bin 4.执_./jdk-6u45-linux-x64.bin 报错

访问者模式-程序员宅基地

本文转自https://blog.csdn.net/qq_20143059/article/details/102755421定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。优点:1.扩展性好。方便添加新的访问者。 2. 复用性好。可以通过访问者来定义整个对象结构通用的功能,从而提高系统的复...

一款高颜值的词云包让我拍案叫绝-程序员宅基地

相信大家也都通过各种渠道了解了老干妈与鹅厂的爱恨纠缠,当然其中还混入了迷惑行为的“骗子”、吃瓜吃得飞起的“阿里系”以及连称此事与我无关的“某搜索引擎”。不过这是一篇技术文,所以无心管他到...

随便推点

delphi xe mysql_delphi xe 之路(27)XE7 Datasnap使用dbExpress连接MySQL-阿里云开发者社区...-程序员宅基地

这次以MySQL为例,对MYSQL的连接进行了试验,过程中需要注意的几个点:1.创建DataSnap的服务器端,这些都没什么说的,根据向导来,最后生成ServerMethodsUnit1模块,2.在Data Explorer设置mysql的连接3.在ServerMethodsUnit14.选择ConnectionName为MySQLConnection,Driver选择为MySQL,填写DataB..._delphi 直连阿里云数据库

SpringBoot自学历程 (一)- Eclipse环境搭建-程序员宅基地

在学习SSM(H)的过程中,需要做大量的配置工作,其实很多配置行为本身只是手段,并不是目的。 基于这个考虑,把该简化的简化,该省略的省略,开发人员只用关心提供业务功能就行了,这就是 SpringBoot。换言之,SpringBoot可以简单地看成简化了的、按照约定开发的SSM(H)。 开发速度大大提升。 可是呢,最好还是有 SSM(H)的基础,否则其中用到了Spring MVC,Myba...

编译器barrier/CPU memory barrier_c 编译有化 barrier-程序员宅基地

内存访问乱序主要是为了提升程序运行时的性能,内存乱序访问主要在两个地方: 1. 编译时,编译器优化导致内存乱序访问(指令重排) 2. 运行时,多cpu间交互引起内存乱序访问编译时内存乱序访问// test.cppint x, y, r;void f(){ x = r; y = 1;}首先编译此源文件,g++ -S test.cpp 得到汇编代码如下:movl r(_c 编译有化 barrier

方法之将不同excel里面相同名称的工作表合并-程序员宅基地

#########使用excel2016##########1、将待合并的多个excel放在一个文件夹中;2、’在该文件夹下新建一个空白的excel;3、打开新建的excel,在表名Sheet1上右击,点击查看代码;4、在跳出的窗口中输入一下代码:Sub 指定表名提取成一工作薄() '字段必须要在第一列 On Error Resume Next ...

axios上传文件数组_axios如何传递一个file数组-程序员宅基地

axios上传文件vue + element + axios我用的是element的upload组件,但并未用element的上传只是用的element组件的文件fileList和样式普通的上传文件是着这样的var formdata = new FormData() // 创建form对象 formdata.append('file', data.file) // 在form对象添加file文件 const config = { headers: { 'Content-Type': _axios如何传递一个file数组

Linux常用经验操作_linux使用经历-程序员宅基地

文本查找替换在linux文本处理中,尤其是在shell编程中,经常会用到查找替换,如关闭selinux等操作,根据经验可知,最有效的方法是sed的扩展正则表达式分组替换最快,如下举例,替换开头为root为python,此时用分组替换最为有效。[root@localhost ~]#sed -i -r 's@^root(:.*)@python\1@' passwd[root@localhos..._linux使用经历

推荐文章

热门文章

相关标签