- SocketCreate
- SocketClose
- SocketConnect
- SocketIsConnected
- SocketIsReadable
- SocketIsWritable
- SocketTimeouts
- SocketRead
- SocketSend
- SocketTlsHandshake
- SocketTlsCertificate
- SocketTlsRead
- SocketTlsReadAvailable
- SocketTlsSend
- WebRequest
- SendFTP
- SendMail
- SendNotification
WebRequest
A função envia uma solicitação HTTP para um servidor especificado. A função possui duas versões:
1. Enviando solicitações simples do tipo "key = value" usando o cabeçalho Content-Type: application/x-www-form-urlencoded.
int WebRequest(
|
2. Enviando uma solicitação de qualquer tipo especificando o conjunto personalizado de cabeçalhos para uma interação mais flexível com vários serviços da Web.
int WebRequest(
|
Parâmetros
método
[in] método HTTP.
url
[in] URL.
cabeçalho
[in] Cabeçalhos de solicitação do tipo "key: valor", separados por uma quebra de linha "\r\n".
cookie
[in] Valor do cookie.
referer
[in] Valor do cabeçalho Referer do pedido HTTP.
timeout
[in] Tempo limite em milissegundos.
data[]
[in] Matriz de dados do corpo da mensagem HTTP.
data_size
[in] Tamanho do array data[].
result[]
[out] Um array contendo dados de resposta do servidor.
result_headers
[out] Cabeçalhos de resposta do servidor.
Valor retornado
Código de resposta do servidor HTTP ou -1 para um erro.
Nota
Para usar a função WebRequest(), adicione os endereços dos servidores necessários na lista de URLs permitidos na guia "Expert Advisors" da janela "Options". A porta do servidor é automaticamente selecionada com base no protocolo especificado - 80 para "http://" e 443 para "https://".
A função WebRequest() é síncrona, o que significa que interrompe a execução do programa e aguarda a resposta do servidor solicitado. Uma vez que os atrasos na recepção de uma resposta podem ser grandes, a função não está disponível para chamadas a partir dos indicadores, porque os indicadores são executados em uma linha comum compartilhada por todos os indicadores e gráficos em um símbolo. O atraso de desempenho do indicador em um dos gráficos de um símbolo pode interromper a atualização de todos os gráficos do mesmo símbolo.
A função pode ser chamada somente de Expert Advisors e scripts, como eles executam em seus próprios tópicos de execução. Se você tentar chamar a função de um indicador, GetLastError() retornará o erro 4014 "Função não é permitida".
O WebRequest() não pode ser executada no Testador de Estratégia.
Um exemplo de usar a primeira versão da função WebRequest():
void OnStart()
|