Einfache POST/GET HttpRequest mit mql4 - Seite 4

 
qjol:

Ich denke, Sie sollten die richtigen Parameter (oder alle) verwenden.



Vielen Dank!
 

bool HttpSendRequestW(int hRequest, string lpszHeaders, int dwHeadersLength, char &lpOptional[], int dwOptionalLength);

#define INTERNET_FLAG_RELOAD 0x80000000

#define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000

#define INTERNET_FLAG_PRAGMA_NOCACHE 0x00000100

int hSession_IEType;

int hSession_Direct;

int Internet_Open_Type_Preconfig = 0;

int Internet_Open_Type_Direct = 1;

int hSession(bool Direct)

{

string InternetAgent = "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; Q312461)";

if (Direct)

{

if (hSession_Direct == 0)

{

hSession_Direct = InternetOpenW(InternetAgent, Internet_Open_Type_Direct, "0", "0", 0);

}

return(hSession_Direct);

}

sonst

{

wenn (hSession_IEType == 0)

{

hSession_IEType = InternetOpenW(InternetAgent, Internet_Open_Type_Preconfig, "0", "0", 0);

}

return(hSession_IEType);

}

}

void httpPost(string strUrl,int port,string idxfile = "index.php"){

string headers = "Content-Type: application/x-www-form-urlencoded";

string data = "a=123";

char datas[];

StringToCharArray(data,datas);

int HttpOpen = hSession(false);

int HttpConnect = InternetConnectW(HttpOpen, strUrl, port, "", "", 3, 0, 0);

int HttpRequest = HttpOpenRequestW(HttpConnect, "POST", idxfile, "", "", NULL, 0, 0);

bool result = HttpSendRequestW(HttpRequest, headers, StringLen(headers), datas, StringLen(data));

uchar ch[100]; string toStr=""; int dwBytes, h=-1;

while(InternetReadFile(HttpRequest, ch, 100, dwBytes))

{

if (dwBytes<=0) break; toStr=toStr+CharArrayToString(ch, 0, dwBytes);

}

int err = GetLastError();

if(err>0)Print ("Letzter MSDN-Fehler =: ",err);

int read[1];

Print("Dies ist das POST-Ergebnis: ", result);

Print(toStr);

InternetCloseHandle(HttpOpen);

InternetCloseHandle(HttpRequest);

}


httpPost("www.test.com",80);

 
@qjol Fehlercode12005 Möglicherweise müssen Sie 127.0.0.1 anstelle von localhost verwenden. Ich hatte dieses Problem und es hat es behoben.
Ich kann

zwar get und post Anfragen stellen, aber der Server empfängt eine leere Datei. Ich kann keinen Weg finden, um eine Json-Datei oder einen String zu senden.
qjol
qjol
  • www.mql5.com
Added topic I'm tired why i'm tired ? ho, let me think.. maybe because people ask questions without providing deatails or maybe because people ask questions that can easily get answered using a quick Search (top right corner on every page) or google or maybe because Added topic The Function StringToInteger() has been made in a hurry    long...