这是我试图使用的一段代码,用于POST一组从MQL4脚本到外部php脚本(名为upload.php )的13个参数值。
string headers = "Content-Type: application/x-www-form-urlencoded";
string data = "{\"ohlcVectors\":{\"ticker\":\"dax\",\"barIntervalSeconds\":300,\"open\":[6844.2998046875," +
"6847.7998046875]},\"className\":\"MAIndicator\",\"parameters\":{\"periods\":2}}";
string acceptTypes[1] = {"*/*"};
int HttpOpen = InternetOpenA( "HTTP_Client_Sample", 1, NULL, NULL, 0 );
int HttpConnect = InternetConnectA( HttpOpen, "127.0.0.1", 7777, NULL, NULL, 3, 0, 1 );
int HttpRequest = HttpOpenRequestA( HttpConnect, "POST", "/tradesheet/upload.php", NULL, NULL, acceptTypes, 0, 1 );
HttpSendRequestA( HttpRequest, headers, StringLen( headers ), data, StringLen( data ) );编译器不断抛出data是不兼容类型的错误。这个data字符串是从一个站点获取的,当时我正在寻找MQL4将POST params发送到php的方法。但是我需要那个字符串data来拥有我自己的参数值,但是对于如何将它放在正确的格式上却一无所知。
我试着找了很多东西,只是找不到任何有用的东西。
下面是我需要发送给upload.php的参数列表。有人能帮我安排一下HttpSendRequestA()期望的格式吗?
string params[13][13];
params[0][0] = "x1";
params[0][1] = "GOD@GMAIL.com";
params[1][0] = "x2";
params[1][1] = 10000;
params[2][0] = "x3";
params[2][1] = 10000;
params[3][0] = "x4";
params[3][1] = "fxpro";
params[4][0] = "x5";
params[4][1] = "usd";
params[5][0] = "x6";
params[5][1] = 10000;
params[6][0] = "x7";
params[6][1] = 5000;
params[7][0] = "x8";
params[7][1] = 10;
params[8][0] = "x9";
params[8][1] = 10;
params[9][0] = "x10";
params[9][1] = "sdfskfms";
params[10][0] = "x11";
params[10][1] = 232;
params[11][0] = "x12";
params[11][1] = 230;
params[12][0] = "x13";
params[12][1] = "fxpro";谢谢你一吨
发布于 2014-03-10 21:34:59
很有可能你正在使用build 600。Build 600支持Unicode,而不再支持Ansi。
因此,您必须使用以下功能:
InternetOpenW
InternetConnectW
HttpOpenRequestW
HttpSendRequestW见下文:
Mt4 b600 / ghttp.mqh与InternetOpenUrlA()问题
https://stackoverflow.com/questions/16105428
复制相似问题