Retorna o status da conexão HTTP - HyperText Transfer Protocol (Protocolo de Transferência de Hipertexto) requisitada.
Sintaxe
HTTPGetStatus( < @cError >, [ lClient ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cError | caractere | Indica a descrição do erro HTTP. | X | X |
lClient | lógico | Indica se irá retornar o status da conexão feita pelo SmartClient (.T.) ou pelo AppServer (.F.). Valor padrão: .F.. |
Retorno
Nome | Tipo | Descrição |
---|---|---|
nRet | numérico | Retorna o status da conexão HTTP atual requerida. |
Observações
Os valores retornados são de acordo com o protocolo HTTP, entre eles os mais comuns e importantes são:
Código de erro | Descrição |
---|---|
500 | Internal Server Error |
501 | Not Implemented |
502 | Bad Gateway |
403;14 | Forbidden - Directory Listing Denied |
200 | Sucess Connection |
- Caso o parâmetro lClient seja .T., o status retornado será apenas de conexões SSL feitas pelo SmartClient. Para o status das funções HTTPCPost e HTTPCGet coloque o valor .F..
- O parâmetro lClient está disponível a partir da build 7.00.131227A com data de geração superior a 17/03/2016.
- Valores abaixo de 100 representam erro.
Exemplos
Neste exemplo, usamos a função HTTPGetStatus para termos certeza de que não temos uma conexão HTTP válida, para isto verificamos o código retornado pela função.
Estando tudo correto, realizamos uma emulação de post para a função no início do fonte - ExHTTPPost - retornando uma simples tabela com os dados postados.
Em seguida ainda verificamos a conexão após o Post.
#include "totvs.ch" #include "xmlxfun.ch" Web Function ExHTTPPost() Local cHtml := "" if ( HttpPost->login != Nil ) .and. ( HttpPost->pass != Nil ) conout( "Post com Sucesso" ) conout( "login: " + HttpPost->login ) conout( "Pass: "+ HttpPost->pass ) cHtml := "<html>" + CRLF" cHtml += "<body>" + CRLF cHtml += "<h1>HttpPost</h1>" + CRLF + CRLF cHtml += "<table border="1">" + CRLF cHtml += "<tr><td>Login</td><td>" + HttpPost->login + "</td></tr>" + CRLF cHtml += "<tr><td>Senha</td><td>" + HttpPost->pass + "</td></tr>" + CRLF cHtml += "</table>" + CRLF cHtml += "</body>" + CRLF cHtml += "</html>" endif Return cHtml Web Function loginMK() Local cHtml := "" Local cDesc := "" if HttpGetStatus() == 0 cHtml := HTTPPost( "http://ricardo/w_ExHTTPPost.apw", "", "login=Teste&pass=123", 120 ) conout( HttpGetStatus( @cDesc ) ) conout( cDesc ) if HttpIsConnected() conout( "isConnected" ) endif endif Return cHtml