#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://を追加してみてはいかがでしょうか?
は、引き続きユニコードと格闘しています。
軌道に乗り、今はinvalid urlの代わりにerror 87が表示されています。そして、これはさらに悪いことです :)
WinHttpConnectで取得しました。 また、absi2unicodeの機能が間違っているのでしょうか?
は、引き続きユニコードと格闘しています。
軌道に乗り、今は間違ったurlの代わりにエラー87が表示されています。そして、これはさらに悪いことです :)
WinHttpConnectで取得しました。 また、absi2unicodeの機能が間違っているのでしょうか?
この投稿に添付されているのは、テキスト文書が入ったアーカイブです。何かお役に立てるかどうか分かりませんが、とにかくご覧になってください。ロシア語フォントのエンコーディングについて書かれていますが、文書の内容を見れば、ある程度わかるかもしれません。私と違ってC++を知ってるんですね。
その様子はこちらで ご覧ください。
が間違っているようです。自分でMQLに書き換えることができるのか?
。
は、引き続きユニコードと格闘しています。
は軌道に乗り、今では不正なURLの代わりにエラー87がポップアップします。これはさらに悪いことです :)
もちろんWinHttpConnectで出てきました。 また、absi2unicodeの機能が間違っているのでしょうか?
変換にはAPIの標準的な関数を使用するのがよいでしょう。
以下はサンプルコードです。
wininet.dllを介して行われるので、...
ここから先は注意して見てください。
ここから先は注意して見てください。