#import "Winhttp.dll"int WinHttpOpen(string pwszUserAgent, int dwAccessType,
string pwszProxyName, string pwszProxyBypass, int dwFlags);
int WinHttpConnect(int hSession, /*string*/int& pswzServerName[], int nServerPort, int dwReserved);
#import "ntdll.dll"int RtlGetLastWin32Error();
int RtlSetLastWin32Error(int dwErrCode);
#import
start()
{
int hSession=WinHttpOpen("MqlHttp", 0, "", "", 0);
Print("hSession="+hSession);
string aHost="www.mql4.com";
RtlSetLastWin32Error(0); //сбрасываем последний код ошибкиint wHost[100]; int n=ansi2unicode(aHost, wHost);
int hConnect=WinHttpConnect(hSession, wHost, 80, 0);
if (hConnect<=0) Print("-Err create Connect "+RtlGetLastWin32Error());
}
// функция преобразования строки в массив//--------------------------------------------------------------- ansi2unicodeint ansi2unicode(string str, int &arr[])
{
int max=ArraySize(arr); int pos=0, i=0, x;
bool f=false;
for (x=0; i<max; f=!f, pos++) // пока есть место в массиве
{
int c=StringGetChar(str, pos); if (c==0) break; // конец строкиif (!f) x=c; else { i++; arr[i]=x+(c<<16); } // собираем символы в пары и складываем в массив
}
if (i>=max) { x=0; i=max-1; } elseif(!f) x=0; // терминирующий ноль
i++; arr[i]=x;
return(i);
}
// Re-reads saved POST data byte-to-byte from file in the pseudo-character array// we need to send with HttpSendRequestA. This is due to the fact I know no clean// way to cast strings _plus_ binary file contents to a character array in MQL.// If you know how to do it properly feel free to contact me.
这可能很傻,但...你有没有试着在URL中加入HTTP://?
继续与unicode作斗争。
它开始起步了,现在显示的是错误87,而不是错误的网址。而这个更糟糕 :)
在WinHttpConnect中得到了它。 我可以如何解决? 或者absi2unicode功能有误?
继续与unicode作斗争。
它开始起步了,现在显示的不是无效的网址,而是错误87。而这个更糟糕 :)
在WinHttpConnect中得到了它。 我可以如何解决? 或者absi2unicode功能有误?
这个帖子的附件是一个带有文本文件的档案。我不知道它是否对你有任何帮助,但无论如何要看看--这是一个小文件。它确实谈到了俄罗斯字体的编码问题,但也许该文件的内容会给你一些启发。你知道C++,不像我。
请看这里 是怎么做的。
似乎是错的。你能自己用MQL重写吗?
继续与unicode作斗争。
它开始起步了,现在弹出的不是一个错误的网址,而是错误87。这就更糟糕了 :)
当然是在WinHttpConnect中出现的。 我可以如何解决? 或者是absi2unicode功能错误?
最好使用标准的API函数进行转换。
下面是一个示例代码。
它是通过wininet.dll完成的,所以我可以...
从这一点上仔细观察。
从这一点上看,仔细观察那里。