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