Simple POST/GET HttpRequest avec mql4 - page 4

 
qjol:

Je pense que vous devez utiliser les bons paramètres (ou tous les paramètres).



Merci !
 

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 (compatible ; 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) ;

}

else

{

si (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))

{

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

}

int err = GetLastError() ;

if(err>0)Print ("Dernière erreur MSDN = : ",err) ;

int read[1] ;

Print("Voici le résultat du POST : ", result) ;

Print(toStr) ;

InternetCloseHandle(HttpOpen) ;

InternetCloseHandle(HttpRequest) ;

}


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

 
erreur12005 Vous devez peut-être utiliser 127.0.0.1 au lieu de localhost. J'ai eu ce problème et cela l'a résolu.
Je suis capable

de faire des requêtes get et post mais le serveur reçoit un fichier vide. Je ne trouve pas le moyen d'envoyer un fichier json ou une chaîne de caractères.
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...
Raison: