nao sei se posso posta esse conteudo aqui mais talvez alguem esteja tentando usar a api pelo python sem o postman
token mk-auth python sem postman
Observação esse codigo detecta que o token expirou e ja solicita um novo,
isso e um codigo simples, mais ja da para fazel algo legal....
import requests
import base64
import urllib3
def obter_token():
# Desabilitar os avisos sobre solicitações não verificadas
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# URL do endpoint para obtenção de token
url = 'https://172.31.255.2/api/'
# Dados de autenticação (client_id e client_secret)
client_id = 'Client_Id_b02bsadsd2947e2fe0234d401284cc7a7d707'
client_secret = 'Client_Secret_f2gffg25838c2f85a29d77820a96ba39b9ba1ff47fc0'
# Configuração do cabeçalho de autenticação básica (Basic Auth)
headers = {
'Authorization': 'Basic {}'.format(base64.b64encode('{}:{}'.format(client_id, client_secret).encode()).decode()),
'Content-Type': 'application/json'
}
try:
# Fazendo a solicitação GET para obter o token
response = requests.get(url, headers=headers, verify=False)
# Verifica se a solicitação foi bem-sucedida (código de status 200)
response.raise_for_status()
# Extraindo o token de acesso da resposta JSON
token = response.text
token.replace("Token de acesso JWT: ", "")
if token:
print('Token de acesso JWT:', token)
return token
else:
print('O token de acesso não foi encontrado na resposta.')
except requests.exceptions.RequestException as e:
# Captura de qualquer erro de solicitação (por exemplo, conexão expirada, URL inválida, etc.)
print('Ocorreu um erro durante a solicitação:', e)
except ValueError as e:
# Captura de erros relacionados à decodificação do JSON
print('Ocorreu um erro ao decodificar a resposta JSON:', e)
# Token JWT
novo_token = ""
while True:
# Desativa a verificação do certificado SSL
requests.packages.urllib3.disable_warnings()
# URL da API para enviar o comando GET
url_api = 'https://172.31.255.2/api/cliente/listagem'
# Cabeçalho da solicitação com o token JWT para autenticação
headers = {
'Authorization': f'Bearer {novo_token}'
}
# Faça a solicitação GET para a API com os dados fornecidos e a autenticação
response_api = requests.get(url_api, headers=headers, verify=False)
try:
# Verifique se a solicitação GET foi bem-sucedida (código de status 200)
if response_api.status_code == 200:
# Acessar o conteúdo da resposta como um dicionário JSON
json_content = response_api.json()
json_content_str = str(json_content)
if "Token invalido" in json_content_str:
novo_token = obter_token()
print("Conteúdo da resposta (JSON):", json_content)
else:
print("Erro ao enviar o comando GET para a API. Código de status:", response_api.status_code)
except KeyError as res:
print("except Key erro",res)
Respostas
bom dia, não só pode, como deve, toda contribuição é bem vinda, sugiro subir o código no github e compartilhar com a comunidade do fórum.
Muio bom, obrigado pela contribuição, vou testar.
Muito obrigado amigo eu procuro fazer muita coisa em python para meu provedor, de beckup a monitoramento de clientes bot
Muito obrigado amigo eu procuro fazer muita coisa em python para meu provedor, de beckup a monitoramento de clientes bots