Httpquote

Httpquote
Author: Eurai
Inclusão: 03/11/2024
Alteração: 08/11/2024

Descrição

Integração. Requisição de informação web. HTTP

 

Sintaxe

Httpquote( < cUrl >, < cMethod >, [ cGETParms ], [ cPOSTParms ], [ nTimeOut ], [ aHeadStr ], [ @cHeaderRet ] )

 

Parâmetros

Par Nome Tipo Descrição Default Obg Ref
01 cUrl caractere Corresponde ao endereço HTTP, juntamente com a pasta e o documento solicitados   X  
02 cMethod caractere Define o HTTP Method que será utilizado, permitindo outros além de POST/GET   X  
03 cGETParms caractere Corresponde ao endereço HTTP, juntamente com a pasta e o documento solicitados      
04 cPOSTParms caractere Corresponde à StringList de parâmetros a serem enviados ao servidor HTTP através do pacote HTTP. Caso não especificado, este parâmetro é considerado vazio ("")      
05 nTimeOut numérico Especificamos o tempo em segundos (máximo) de inatividade permitido durante a recepção do documento. Caso não especificado, o valor padrão assumido é 120 segundos (2 minutos      
06 aHeadStr array Permite especificar um array com strings a serem acrescentadas ao Header da requisição HTTP a ser realizada      
07 cHeaderRet caractere Retorna através de referência o header de resposta HTTP enviado pelo servidor requisitado. Variável deve ser declarada antes da chamada da função      

 

Retorno

Retorno Tipo Descrição
cResponse Character Retorna a string correspondendo ao documento solicitado

 

Exemplo

#INCLUDE "TOTVS.CH"


User Function HTTPQuote()
Local cRoute 		:=  'xxxxx') as character
Local cRespJSON		:= '' as character
Local cHeaderRet	:= '' as character
Local cRetResponse	:= '' as character

cRespJSON 			:= HTTPQuote(cRoute, "GET", "", , , Self:aHeadStr, @cHeaderRet) 
cRespJSON			:= DecodeUTF8(cRespJSON)
If !Empty(cRespJSON) .AND. At('200 OK',cHeaderRet) > 0
Endif

Return( Nil )


Resultado

              

 

 

Informação Adicional

Na passagem de parâmetros GET e POST, deve-se observar ao formato da string a ser passada como parâmetros, pois a mesma segue o formato URI (Uniform Resource Identifiers) : Query Component

Caso não seja retornado o documento antes do término do Time-out especificado na chamada da função, ou caso não seja possível localizar o servidor, seja por falha de resolução de DNS ou por erro de sintaxe ao especificar a URL, a função retornará Nulo (NIL

Caso não seja possível o acesso ao documento, como por exemplo o documento não exista, será retornado uma string HTML com a mensagem de erro enviada pelo servidor correspondente

Quando utilizamos a função HTTPQuote(), podemos especificar um Content-Type diferenciado para o conteúdo postado. Caso não seja especificado um Content-Type, alguns servidores tratam a informação postada como sendo um dado do tipo 'application/x-www-form-url', seria o equivalente a um formulário HTML postado via Browser. Outros servidores poderão não reconhecer tal informação postada dessa forma. Para especificar que o conteúdo postado deve ser tratado como um POST de formulário HTTP, devemos passar no parâmetro aHeadStr, um elemento contendo 'Content-Type: application/x-www-form-url

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎  

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários