Árvore de páginas

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

Veja também

  • Sem rótulos