Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 5 > Programmierung MQL5

Programmierung MQL5 Hier gehts rund ums Programmieren in MQL5.

Login
Benutzername:
Kennwort:


Statistik
Themen: 5001
Beiträge: 43323
Benutzer: 7.258
Aktive Benutzer: 52
Links: 84
Wir begrüßen unseren neuesten Benutzer: dannyfeiert
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- dannyfeier...
vor 5 Tagen
- Robin97
vor einer Woche
- qwertzgeor...
vor 2 Wochen
- TauriMK2
vor 2 Wochen
- Der_Schlei...

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 77
Gesamt: 77
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 26.11.24
Uli Uli ist offline
Neues Mitglied
 
Registriert seit: Dec 2019
Beiträge: 5
Uli befindet sich auf einem aufstrebenden Ast
Standard Die WebRequest - Funktion

Hallo an alle!

Ich weiß mir echt kein Rat mehr. Ich hab wieder und wieder mit dieser Fehlermeldung zu kämpfen. Kann mal jemand unten auf den Code schauen und mir erklären warum das Teil nicht funktionieren will. Oder wie muß ich den Code verändern?

Ich bedanke mich schon mal im voraus.

MfG Uli

Die Fehlermeldung:
'WebRequest' - no one of the overloads can be applied to the function call

Code:
void OnStart()
{
   // Ziel-URL des Flask-Servers
   string url = "http://127.0.0.1:5001/status";

   // Ergebnis-Array und HTTP-Antwortcode initialisieren
   char result[];        // Hier kommt die Antwort vom Server rein
   int response_code = 0; // HTTP-Antwortcode, z. B. 200 für Erfolg

   // Timeout für die Anfrage in Millisekunden
   int timeout = 5000;

   // HTTP-Header für die Anfrage (leer bei "GET")
   string headers = "";

   // WebRequest ausführen mit den 8 Parametern
   int res = WebRequest(
      "GET",              // HTTP-Methode
      url,                // Ziel-URL
      headers,            // HTTP-Header (leer bei GET)
      timeout,            // Timeout
      NULL,               // Keine Sendedaten (da GET-Anfrage)
      0,                  // Größe der Sendedaten (0, da keine vorhanden)
      result,             // Array für die Antwort
      response_code       // Variable für den HTTP-Statuscode
   );

   // Antwort prüfen und ausgeben
   if (res == -1)  // Wenn die Anfrage fehlschlägt
   {
      Print("WebRequest-Fehler: ", GetLastError());  // Fehlercode ausgeben
      Comment("Der Server läuft nicht");
   }
   else if (response_code == 200)  // Wenn der Server erfolgreich antwortet
   {
      Print("Anfrage erfolgreich: ", CharArrayToString(result));  // Antwort ausgeben
      Comment("Der Server läuft");
   }
   else  // Wenn der Server antwortet, aber nicht erfolgreich
   {
      Print("HTTP-Fehler: ", response_code, ", Antwort: ", CharArrayToString(result));
      Comment("Der Server läuft nicht");
   }
}
Mit Zitat antworten
  #2 (permalink)  
Alt 12.12.24
Neues Mitglied
 
Registriert seit: Sep 2022
Beiträge: 6
hellbird befindet sich auf einem aufstrebenden Ast
Standard

Hi,

also soweit ich es sehe, gibt es nur eine Aufrufmöglichkeit für 7 oder 9 Argumente bei WebRequest ... Bei Dir sind es 8 Argumente.

Zudem kannst Du nicht direkt den Response-Code vom Server auslesen, sondern kriegst nur einen String, den Du auswerten müsstest.

Das funkste bei mir, wenn ich die URL als erlaubt im MT5 eintrage:
Code:
void OnStart()
{
   // Ziel-URL des Flask-Servers
   string url = "http://www.google.de";

   // Ergebnis-Array und HTTP-Antwortcode initialisieren
   char post[], result[];        // Hier kommt die Antwort vom Server rein
   string headers; // HTTP-Antwortcode, z. B. 200 für Erfolg

   // Timeout für die Anfrage in Millisekunden
   int timeout = 5000;

   // HTTP-Header für die Anfrage (leer bei "GET")
   string cookie = NULL;

   // WebRequest ausführen mit den 8 Parametern
   int res = WebRequest(
      "GET",              // HTTP-Methode
      url,                // Ziel-URL
      headers,            // HTTP-Header (leer bei GET)
      NULL,               // Keine Sendedaten (da GET-Anfrage)
      timeout,            // Timeout
      post,
      0,                  // Größe der Sendedaten (0, da keine vorhanden)
      result,             // Array für die Antwort
      headers             // Variable für den HTTP-Statuscode
   );

   // Antwort prüfen und ausgeben
   if (res == -1)  // Wenn die Anfrage fehlschlägt
   {
      Print("WebRequest-Fehler: ", GetLastError());  // Fehlercode ausgeben
      Comment("Der Server läuft nicht");
   }
   else {
      Print(headers);
   }

}
Gruß
Matthias
Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2025 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------