Você está procurando enviar dados JSON para um servidor usando Python Requests? Se sim, você está no lugar certo! Neste post do blog, vamos explicar como usar Python Requests para enviar dados JSON por meio de um pedido POST. Vamos cobrir tudo, desde os fundamentos do envio de um pedido POST até o tratamento da resposta recebida do servidor e até mesmo como lidar com erros que podem ocorrer ao longo do caminho. Então, vamos começar!
Python Requests
Python Requests é uma biblioteca Python 3.7+ que simplifica o processo de enviar requisições HTTP/1.1. Ela fornece uma API simples para interagir com métodos HTTP, como GET, POST, PUT, PATCH e mais.
Python Requests: Método HTTP POST
O seguinte trecho de código demonstra como usar a biblioteca requests
para enviar uma requisição HTTP POST:
import requests
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
response = requests.post(url, data=data)
print(response.status_code)
print(response.content)
Neste exemplo, estamos enviando uma requisição HTTP POST para https://www.example.com/api
com um payload JSON contendo um nome de usuário e uma senha. O método requests.post()
é usado para enviar a requisição, e o código de status da resposta e o conteúdo são impressos no console.
Você pode instalar a biblioteca requests
usando o seguinte comando:
python -m pip install requests
Neste post do blog, estaremos focando em como usar Python Requests para enviar uma requisição POST com dados JSON.
O que é JSON?
JSON significa JavaScript Object Notation. É um formato padronizado para representar dados estruturados. É um formato baseado em texto que usa texto legível por humanos para armazenar e transmitir objetos de dados consistindo em pares de atributo-valor e arrays (ou outros valores serializáveis). JSON é comumente usado para transmitir dados em aplicações web, como enviar dados do servidor para o cliente, ou vice-versa.
JSON pode representar seis tipos de dados nativamente: strings, números, booleanos, nulo, arrays e objetos. Por exemplo, aqui está uma representação JSON de um post de blog:
{
"id": 1001,
"title": "O que é JSON?",
"author": {
"id": 1,
"name": "James Walker"
},
"tags": [
"api",
"json",
"programação"
],
"published": false,
"publishedTimestamp": null
}
Este exemplo demonstra todos os tipos de dados JSON. Também ilustra a concisão dos dados formatados em JSON, uma das características que o tornam tão atraente para uso em APIs.
Em outras palavras, é um formato de intercâmbio de dados leve que é fácil para os humanos lerem e escreverem, e fácil para as máquinas analisarem e gerarem. JSON é um formato de texto que é completamente independente de linguagem, tornando-o uma escolha ideal para troca de dados entre diferentes linguagens de programação.

Entender o método de requisição POST
Uma requisição POST é um tipo de método de requisição HTTP que é usado para enviar dados a um servidor para criar ou atualizar um recurso. É frequentemente usado ao fazer upload de um arquivo ou ao enviar um formulário web completo. O método de requisição POST solicita que um servidor web aceite os dados contidos no corpo da mensagem de requisição, provavelmente para armazená-los.
O formato padronizado do JSON para representar objetos e dados o torna uma escolha popular para enviar dados em requisições POST. Ao usar JSON, os desenvolvedores podem garantir que os dados enviados ao servidor estão bem organizados e facilmente compreensíveis, aumentando a eficiência da criação e atualizações de recursos.

Em contraste com o método de requisição HTTP GET, que recupera informações do servidor, o método de requisição POST solicita que um servidor web aceite os dados contidos no corpo da mensagem de requisição, provavelmente para armazená-los. Uma quantidade arbitrária de dados de qualquer tipo pode ser enviada ao servidor no corpo da mensagem de requisição.

Aqui está um exemplo de como usar a biblioteca requests
para enviar uma requisição HTTP POST:
import requests
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
response = requests.post(url, data=data)
print(response.status_code)
print(response.content)
Neste exemplo, estamos enviando uma requisição HTTP POST para https://www.example.com/api
com um payload JSON contendo um nome de usuário e uma senha. O método requests.post()
é usado para enviar a requisição, e o código de status da resposta e o conteúdo são impressos no console.
Como Usar Python Requests para POSTar Dados JSON?
Agora que temos uma compreensão básica do que são Python Requests e JSON, vamos mergulhar em como usar Python Requests para POSTar dados JSON. Aqui está um exemplo de como fazer isso:
import requests
import json
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}
response = requests.post(url, data=json.dumps(data), headers=headers)
print(response.status_code)
print(response.content)
Neste exemplo, estamos enviando uma requisição HTTP POST para https://www.example.com/api
com um payload JSON contendo um nome de usuário e uma senha. O método requests.post()
é usado para enviar a requisição, e o código de status da resposta e o conteúdo são impressos no console. Note que estamos usando o método json.dumps()
para converter o dicionário data
em uma string JSON antes de enviá-la no corpo da requisição.
Você pode instalar a biblioteca requests
usando o seguinte comando:
python -m pip install requests
Manipulando a Resposta
Após enviar a requisição POST, receberemos uma resposta do servidor. Podemos lidar com a resposta usando o objeto response
que criamos anteriormente. Aqui está um exemplo de como lidar com a resposta:
import requests
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}
response = requests.post(url, json=data, headers=headers)
if response.status_code == 200:
print('Sucesso!')
else:
print('Ocorreu um erro.')
Neste exemplo, estamos verificando o código de status da resposta para ver se a requisição foi bem-sucedida. Se o código de status for 200, imprimiremos "Sucesso!". Caso contrário, imprimiremos "Ocorreu um erro."
Lidando com Erros
Às vezes, as coisas não saem como planejado. No caso de um erro ocorrer enquanto enviamos a requisição POST, querermos lidar com isso de forma adequada. Aqui está um exemplo de como lidar com erros:
import requests
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}
try:
response = requests.post(url, json=data, headers=headers)
response.raise_for_status()
except requests.exceptions.HTTPError as err:
print(err)
Neste exemplo, estamos usando um bloco try
/except
para capturar quaisquer erros que possam ocorrer enquanto enviamos a requisição POST. Se um erro ocorrer, imprimiremos a mensagem de erro.
Como Enviar Requisições POST em Python com Dados JSON no Apidog?
Apidog é uma poderosa solução de testes que fornece aos desenvolvedores uma experiência de teste de interface mais robusta. Seus recursos avançados, como criar casos de teste personalizados, gerar relatórios e teste de carga, proporcionam aos desenvolvedores maior flexibilidade e capacidades dentro de seus fluxos de trabalho de teste. Comparado ao Postman, o Apidog se destaca como uma solução de teste mais abrangente e poderosa.
Para enviar uma requisição POST com dados JSON no Apidog, siga estes passos:
Passo 1: Abra o Apidog e crie uma nova requisição.

Passo 2: Clique na aba Request e selecione POST no menu suspenso.

Passo 3: Digite a URL do endpoint da API que você deseja testar, ina seção Headers, adicione quaisquer cabeçalhos necessários. Na seção Body, selecione JSON no menu suspenso e digite os dados JSON que você deseja enviar no corpo da requisição.

Passo 4: Clique no botão Enviar para enviar a requisição e verifique a resposta.

É isso aí! Você enviou com sucesso uma requisição POST em Python com dados JSON no Apidog.
Conclusão
Neste post do blog, cobrimos como usar Python Requests para POSTar dados JSON. Abordamos os fundamentos do envio de uma requisição POST, manipulando a resposta e tratando erros. Esperamos que este post do blog tenha sido útil para você e que agora você consiga usar Python Requests para POSTar dados JSON com facilidade!