¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como autenticar uma URL HTTP com nome de usuário e senha em ABAP - Guia passo a passo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 26 Vistas
0
Cargando...

Olá,

Quero autenticar uma URL http com nome de usuário e senha codificados em ABAP. Mas não tive sucesso. Estou usando RSHTML01 e seus métodos para autenticar meu usuário no programa ZRSHTML01.

Tentei fazer login com RSHTML01 e inserir manualmente o nome de usuário e senha na janela pop-up, mas não consegui estabelecer a conexão.

Meu objetivo principal é exibir essa imagem de URL em um contêiner.

Desde já agradeço.

No navegador a tela parece assim;

auth.png

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Você deve preencher as credenciais adequadas como

data(tpcredentials) = base64encoder->if_http_utility~encode_base64( |{ tpuser }:{ tp_password }| ).

Em seguida

  CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
     EXPORTING
       NAME  = 'authorization'
       VALUE = |Basic { tpcredentials }|
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Felipe,

Estou usando o seguinte programa para http://192.168.*.*/snap.jpg . A mensagem de retorno é "Falha na comunicação HTTP (código: 401)".

Mas se tento acessar http://192.168.*.*/ , o programa retorna OK. Preciso visualizar a imagem jpg no meu contêiner SAP. Mas não consegui autenticar.

Tentei várias alternativas que estavam comentadas neste código. http://username: password@example.com / também não está funcionando.

  • O programa RSICFCLTST01 retorna
GET /snap.jpg HTTP/1.0
authorization: Basic c2*****************gh

quando me autentico http://192.168.*.*/snap.jpg

Poderia verificar meu código, por favor? Acredito que não há muitos problemas para uma solução.

Obrigado.

PARAMETERS p_url TYPE string LOWER CASE DEFAULT 'http://192.168.*.*/snap.jpg'.

DATA content TYPE string.
DATA url TYPE string.
DATA tpuser TYPE string.
DATA tppassword TYPE string.
DATA base64encoder TYPE REF TO cl_http_utility.
CREATE OBJECT base64encoder.

url = p_url.
tpuser = 'sapservice'.
tppassword = '*********'.


tpuser = base64encoder->if_http_utility~encode_base64( tpuser ) .
tppassword = base64encoder->if_http_utility~encode_base64( tppassword ) .

PERFORM sendrequest
   USING url tpuser tppassword
   CHANGING content.
WRITE content.


FORM sendrequest USING url TYPE string
                        tpuser TYPE string
                        tppassword TYPE string
                  CHANGING content TYPE string.

  DATA http_client TYPE REF TO if_http_client.
  DATA utf8content TYPE xstring.
  DATA utf8length TYPE i.
  DATA tmpstr TYPE string.
  
            
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Normalmente você poderia fazer algo assim: http://username:password@example.com/ .

Não seria surpreendente se o que você está dizendo é que não está funcionando.

Se for o caso, você deve codificar usuário:senha em base64 e passá-lo em um campo de cabeçalho de Autorização no seu manipulador de solicitação http.

Saudações,

Felipe Silva

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?