Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css
Portuguese

Pagetitle
HTTPGetStatus

...

...

...

HTTPGetStatus

Retorna

...

o

...

status

...

da

...

conexão

...

HTTP

...

-

...

HyperText

...

Transfer

...

Protocol

...

(Protocolo

...

de

...

Transferência

...

de

...

Hipertexto)

...

requisitada.

Sintaxe

Bloco de código
collapsefalse
HTTPGetStatus(
[ @cErro] ) --> nRetorno Parâmetros/Elementos
 < @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.

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.

"+
<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 += "
" endif Return cHtmlweb
</html>"
  endif
Return cHtml

Web Function loginMK()
  Local 
cHtml := ""
  Local 
cHtml
cDesc := ""

  
  if HttpGetStatus() == 0

    cHtml := 
HTTPPOST
HTTPPost( "http://ricardo/w_ExHTTPPost.apw", "", "login=Teste&pass=123", 120 
,
)
   
NIL
 
)
conout( HttpGetStatus( @cDesc ) )

    conout( cDesc )
    
    if HttpIsConnected()

      conout( "isConnected" )
endif

    
endif
  endif

Return cHtml
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
#include "totvs.ch"
#include "xmlxfun.ch"

 //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
and. ( HttpPost->pass != Nil
)
 )
    conout( "Post com Sucesso
\nlogin
" )
    conout( "login: " + HttpPost->login 
+
)
    conout( "
\nPass
Pass: "+ HttpPost->pass
)
 )
    
    cHtml := "

HttpPost

"
<html>" + CRLF"
    cHtml += "<body>" + CRLF
    cHtml += "<h1>HttpPost</h1>" + CRLF + CRLF
    cHtml += "
"
<table border="1">" + CRLF
    cHtml += "
Login
Senha"+HttpPost->pass+"

Veja também