Nuevo artículo Uso de WinInet en MQL5. Parte 2: Peticiones POST y Archivos ha sido publicado:
Autor: Alex Sergeev
Hola Alex,
Buen artículo - Tengo una petición para la 'Parte 3': Comunicación cliente XML-RPC (y servidor si es posible).
Cheerz
Al ejecutar la siguiente sentencia, el sistema se bloquea, ¿cómo debería resolverse?
hConnect=InternetConnectW(hSession, aHost, aPort, aUser, aPass, aService, 0, 0);
Error: Violación de acceso leído a 0x0000000000001F94 en '......ex5'
Hay un pequeño error en la línea 161. Esa línea debería ser:
else StringToCharArray(req.stData, data, 0, StringLen(req.stData));
eso es porque el terminal 0 es copiado al array y HttpSendRequestW envía el terminal 0 (como un caracter extra) al último valor de post var. Por ejemplo si tus datos son:
var1=value1&var2=value2
Obtendrás en tu página web var1 asociado a valor1, y var2 asociado a valor2\0.
Este es un gran artículo. Gracias por compartirlo.
Saludos
El error de violación de acceso fue resuelto pero las peticiones POST no funcionan ahora. Aparentemente los datos en un array uchar no se envían correctamente a la función dll.
¿Por qué nadie se preocupa de este problema?
También tuve algún error de Violación de Acceso con esta clase de objeto. El problema estaba en el uso de '0' como puntero NULL en la llamada a la función HttpOpenRequestW. Intente reemplazar la llamada
--- hRequest=HttpOpenRequestW(hConnect, req.stVerb, req.stObject, Vers, nill, 0, INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_PRAGMA_NOCACHE, 0);
con una llamada
+++ hRequest=HttpOpenRequestW(hConnect, req.stVerb, req.stObject, Vers, NULL, NULL , INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_PRAGMA_NOCACHE, 0);
Es curioso, que el uso inadecuado de un puntero NULL se menciona incluso explícitamente como una razón de fallo en la documentación de MSDN:
Failing to properly terminate the array with a NULL pointer will cause a crash.
- msdn.microsoft.com
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Usar WinInet en MQL5. Parte 2: Solicitudes y archivos POST:
Autor: o_O