HTTP Verb | CRUD | Entire Collection (e.g. /customers) | Specific Item (e.g. /customers/{id}) |
---|---|---|---|
POST | Create | 201 (Created), 'Location' header with link to /customers/{id} containing new ID. | 404 (Not Found), 409 (Conflict) if resource already exists.. |
GET | Read | 200 (OK), list of customers. Use pagination, sorting and filtering to navigate big lists. | 200 (OK), single customer. 404 (Not Found), if ID not found or invalid. |
PUT | Update/Replace | 405 (Method Not Allowed), unless you want to update/replace every resource in the entire collection. | 200 (OK) or 204 (No Content). 404 (Not Found), if ID not found or invalid. |
PATCH | Update/Modify | 405 (Method Not Allowed), unless you want to modify the collection itself. | 200 (OK) or 204 (No Content). 404 (Not Found), if ID not found or invalid. |
DELETE | Delete | 405 (Method Not Allowed), unless you want to delete the whole collection—not often desirable. | 200 (OK). 404 (Not Found), if ID not found or invalid. |
Mladen Rakic:
so does mt4 support PUT ?? cause they dont supprot DELETE...HTTP Verb | CRUD | Entire Collection (e.g. /customers) | Specific Item (e.g. /customers/{id}) |
---|---|---|---|
POST | Create | 201 (Created), 'Location' header with link to /customers/{id} containing new ID. | 404 (Not Found), 409 (Conflict) if resource already exists.. |
GET | Read | 200 (OK), list of customers. Use pagination, sorting and filtering to navigate big lists. | 200 (OK), single customer. 404 (Not Found), if ID not found or invalid. |
PUT | Update/Replace | 405 (Method Not Allowed), unless you want to update/replace every resource in the entire collection. | 200 (OK) or 204 (No Content). 404 (Not Found), if ID not found or invalid. |
PATCH | Update/Modify | 405 (Method Not Allowed), unless you want to modify the collection itself. | 200 (OK) or 204 (No Content). 404 (Not Found), if ID not found or invalid. |
DELETE | Delete | 405 (Method Not Allowed), unless you want to delete the whole collection—not often desirable. | 200 (OK). 404 (Not Found), if ID not found or invalid. |
are you just a bot ??
I do appreciate your table but still i need to know does mt4 actually support PUT and DELETE or not ?
Sorry to bump may anyone kindly reply ? thanks kindly i truly appreciate it.
Sorry to bump may anyone kindly reply ? thanks kindly i truly appreciate it.
vual:
I do appreciate your table but still i need to know does mt4 actually support PUT and DELETE or not ?
Sorry to bump may anyone kindly reply ? thanks kindly i truly appreciate it.
I do appreciate your table but still i need to know does mt4 actually support PUT and DELETE or not ?
Sorry to bump may anyone kindly reply ? thanks kindly i truly appreciate it.
According to manual, WebRequest only supports GET and POST, at ports 80 or 443.
Mohammad Hossein Sadeghi:
Thanks kindly what a shame that really is :( what options do i have to make a put request ? Wininet.Dll maybe ?According to manual, WebRequest only supports GET and POST, at ports 80 or 443.
https://www.mql5.com/en/forum/165618
Does WebRequest function support HTTP DELETE?
- 2017.01.06
- www.mql5.com
I have HTTP Delete method API call via WebRequest, but it reported an error with "Error in WebRequest. Error code =4051...
Any idea why this does not work with SSL? Thanks alot for any assistance.
Code attached:
Code attached:
//custom PUT method, web request doest not support PUT bool HttpPUT(string host, string script, string& strWebPage, string headers, string jsonData) { printf(jsonData); int hIntrn = InternetOpenW("cloneTrade-mt4-ea", 1, "0", "0", 0); if (hIntrn == 0) { return (false); } int hConn = InternetConnectW(hIntrn, host, 443, "", "", 3, 0, 1); if (hConn == 0) { return (false); } //int dwOpenRequestFlags = // _IGNORE_REDIRECT_TO_HTTP | // _IGNORE_REDIRECT_TO_HTTPS | // INTERNET_FLAG_KEEP_CONNECTION | // INTERNET_FLAG_NO_AUTO_REDIRECT | // INTERNET_FLAG_NO_COOKIES | // INTERNET_FLAG_NO_CACHE_WRITE | //INTERNET_FLAG_NO_UI //; string accept[]; //string headers = "Content-Type: application/x-www-form-urlencoded"; string data = jsonData; //string acceptTypes[1] = {"*/*"}; char acceptTypes[]; int hReq = HttpOpenRequestW(hConn, "PUT", script, "HTTP/1.1", "", acceptTypes, 0, 0); int request[]; if (!HttpSendRequestW(hReq, headers , StringLen(headers), data, StringLen(data))) { Print(GetLastError()); printf("Last MSDN Error =: ", kernel32::GetLastError()); return (false); } // Read response int lReturn[] = {1}; string sBuffer = ""; while (TRUE) { if (InternetReadFile(hReq, sBuffer, StringLen(sBuffer), lReturn) <= 0 || lReturn[0] == 0) { break; } strWebPage = StringConcatenate(strWebPage, StringSubstr(sBuffer, 0, lReturn[0])); } InternetCloseHandle(hReq); InternetCloseHandle(hConn); InternetCloseHandle(hIntrn); return (true); }
Yes it is possible, just set the httpType to "POST" then write send this as Header :
X-HTTP-Method-Override:PUT
You Can also send PATCH or DELETE with this approach.
Example:
string response = SendResquest("POST", "https://google.com", body, "X-HTTP-Method-Override:PUT", 5000); string SendResquest(string httpType, string address, string bodyData = "", string headers = "", int timeout=5000) { uchar bodyDataCharArray[]; uchar resultDataCharArray[]; string resultHeader; ArrayResize(bodyDataCharArray, StringToCharArray(bodyData, bodyDataCharArray)-1); int response = WebRequest(httpType, address, headers, timeout, bodyDataCharArray, resultDataCharArray, resultHeader); string result = CharArrayToString(resultDataCharArray); if(response == 200) return result; Print("Error when trying to call API : ", GetLastError()); return ""; }
Thanks to Mohammad Hasan Daneshvar to tell me this.
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
I have much success using WebRequest function from mt4 but i would like to ask does mt4 not support PUT method ?
POST and GET work great, but PUT always fails, the error suggests my parameters are wrong, i use the same as a POST i checked on my API using curl and it works fine yet MT4 seems to not understand the method PUT, is this true? I know DELETE is not supported so i wonder is PUT also not supported?