- SocketCreate
- SocketClose
- SocketConnect
- SocketIsConnected
- SocketIsReadable
- SocketIsWritable
- SocketTimeouts
- SocketRead
- SocketSend
- SocketTlsHandshake
- SocketTlsCertificate
- SocketTlsRead
- SocketTlsReadAvailable
- SocketTlsSend
- WebRequest
- SendFTP
- SendMail
- SendNotification
WebRequest
Envía la solicitud HTTP al servidor especificado. Hay 2 variantes de esta función:
1. Para el envío de las solicitudes simples del tipo "clave=valor" usando el encabezado Content-Type: application/x-www-form-urlencoded.
int WebRequest(
|
2. Para el envío de las solicitudes del tipo libre especificando el conjunto individual de encabezados para la interacción más flexible con diferentes servicios Web.
int WebRequest(
|
Parámetros
method
[in] Método HTTP.
url
[in] Dirección URL.
headers
[in] Encabezados de la solicitud del tipo "clave: valor" separados con salto de línea "\r\n".
cookie
[in] Valor Cookie.
referer
[in] Valor del encabezado de la solicitud Referer HTTP.
timeout
[in] Tiempo de inactividad en milisegundos.
data[]
[in] Array de datos del cuerpo del mensaje HTTP.
data_size
[in] Tamaño del array data[].
result[]
[out] Array con los datos de respuesta del servidor.
result_headers
[out] Encabezados de la respuesta del servidor.
Valor devuelto
Código de la respuesta del servidor HTTP, o -1 en caso del error.
Nota
Para el uso de la función WebRequest() hay que añadir las direcciones de los servidores en la lista de las URLs permitidas en la pestaña "Asesores Expertos" de la ventana "Ajustes". El puerto del servidor se selecciona automáticamente a base del protocolo especificado: 80 para "http://" y 443 para "https://".
La función WebRequest() es sincrónica. Eso significa que interrumpe la ejecución del programa y espera la respuesta del servidor solicitado. Puesto que los retardos a la hora de recibir la respuesta a la solicitud enviada pueden ser importantes, esta función está prohibida para las llamadas desde los indicadores porque los indicadores trabajan en el único flujo común para todos los indicadores y gráficos de este símbolo. El retardo de ejecución del indicador en uno de los gráficos del símbolo puede provocar la parada de las actualizaciones de todos los gráficos de este símbolo.
Esta función puede invocarse sólo desde los EAs y los scripts porque trabajan en su propio flujo de ejecución. Si la función se invoca desde un indicador, GetLastError() devolverá el error 4014 "Función prohibida".
Durante el trabajo en el Probador de Estrategias la función WebRequest() no se ejecuta.
Ejemplo:
void OnStart()
|