Pessoal, estou usando a dll MSXML2.ServerXMLHTTP.6.0 para consumir uma API, quanto o status de retorno é 200, beleza, o endpoint específico que estou usando sempre retorna um json, Content-Type: application/json, mas quando o retorno status é entre 400 à 599 pode-se retornar um json de error ou um texto, eu teria que checar o Content-Type para saber se é application/json ou text, qual é o método ou propriedade dessa dll para verificar o Content-Type do header de retorno? Procurei até na documentação oficial da MS mas não achei nada disso, eu só consigo acessar o responseBody e o responseText. Ou seja: Como acesso o cabeçalho HTTP “Content-Type” da MSXML?
Grato.
Como obter response Headers de MSXML2.ServerXMLHTTP.6.0
Moderador: Moderadores
Como obter response Headers de MSXML2.ServerXMLHTTP.6.0
**RESOLVIDO**
Só para deixar registrado: Consultei na web, nada, consultei a IA do Bing MS mais confundiu e nada, fui no ChatGPT e voilá, ela me trouxe o método getRensponseHeader("Content-Type"), Bingo!
Em harbour ficou assim:
Nota: também tem o getResponseAllHeaders() que retorna todos os headers!
Abraços galera Harbour!
Só para deixar registrado: Consultei na web, nada, consultei a IA do Bing MS mais confundiu e nada, fui no ChatGPT e voilá, ela me trouxe o método getRensponseHeader("Content-Type"), Bingo!
Em harbour ficou assim:
Código: Selecionar todos
content_type := conexao:getResponseHeader("Content-Type")
// Retornou: application/json
Abraços galera Harbour!
Nilton Medeiros
nilton@sistrom.com.br
nilton@sistrom.com.br
- clodoaldomonteiro
- Usuário Nível 4

- Mensagens: 821
- Registrado em: 30 Dez 2006 13:17
- Localização: Teresina-PI
- Contato:
Como obter response Headers de MSXML2.ServerXMLHTTP.6.0
Boa tarde.
Com essa função, eu consulto um CNPJ num WebService, usando MSXML2.
Abraços
Com essa função, eu consulto um CNPJ num WebService, usando MSXML2.
Código: Selecionar todos
////////////////////////////////////////////////////////////////////////////////
//https://pctoledo.org/forum/viewtopic.php?f=43&p=155455#p155455
//https://pctoledo.org/forum/viewtopic.php?f=4&t=23628 (com Header)
//https://pctoledo.org/forum/viewtopic.php?f=4&t=17427 (usando a hb_JSONDecode( cJSON, @hJSON ) )
//https://nfe.io/docs/desenvolvedores/rest-api/consulta-de-cnpj-v1/ (para consultas)
Function CNPJ_Consulta( cCnpj )
Local mSite := "http://receitaws.com.br/v1/cnpj/", oHttp, hCNPJA := Hash(), mJSONCNPJ, hJSON := Hash()
//mSite := "https://publica.cnpj.ws/cnpj/" //mais completo
If Len( cCnpj ) <> 14
REturn NIL
Endif
Begin Sequence
Try
oHttp := CreateObject("MSXML2.ServerXMLHTTP")
oHttp:Open("GET", mSite + cCNPJ, .F.)
oHttp:send()
CATCH oError
msg := 'Internet Error: 010' + CRLF
msg += 'Aviso..: Erro verificado ao fazer requisição de CNPJ no Site indicado.' + HB_Eol()
msg += 'Site...:' + mSite + HB_Eol()
msg += 'CNPJ...:' + cCNPJ + HB_Eol()
msg += cl_getError(oError, .t.)
msgError ( msg )
hCNPJA := NIL
Break
End
If Empty( oHttp:responseText )
hCNPJA := NIL
Break
ElseIf '"ERROR"' $ oHttp:responseText
msg := 'Request error: 015' + CRLF
msg += 'Aviso..: O retorno da consulta de CNPJ está com erros.' + HB_Eol()
msg += '- Aguarde um minuto e tente novamente.' + HB_Eol()
msg += 'Site...:' + mSite + HB_Eol()
msg += 'CNPJ...:' + cCNPJ + HB_Eol()
msg += 'Response:' + oHttp:responseText + HB_Eol()
msg += 'Status..:' + Str(oHttp:status, 3) + HB_Eol()
msg += cl_getError(, .t.)
MsgError ( msg, .t. )
hCNPJA := NIL
Break
ElseIf 'Too many' $ oHttp:responseText
msg := 'Request error: 020' + CRLF
msg += 'Aviso..: Muitas tentativas de pesquisar CNPJ no Site indicado.' + HB_Eol()
msg += '- Aguarde um minuto e tente novamente.' + HB_Eol()
msg += 'Site...:' + mSite + HB_Eol()
msg += 'CNPJ...:' + cCNPJ + HB_Eol()
msg += 'Response:' + oHttp:responseText + HB_Eol()
msg += 'Status..:' + Str(oHttp:status, 3) + HB_Eol()
MsgAtencao ( msg )
hCNPJA := NIL
Break
Endif
mJSONCNPJ := HB_AnsiToOem(oHttp:responseText)
ADOStringGrava(mJSONCNPJ + CRLF)
hCNPJA := JSontoHash( mJSONCNPJ )
oHttp := NIL
End Sequence
Return hCNPJA
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Como obter response Headers de MSXML2.ServerXMLHTTP.6.0
Legal Clodoaldo!
Nilton Medeiros
nilton@sistrom.com.br
nilton@sistrom.com.br
