{"id":37090,"date":"2025-01-17T10:18:14","date_gmt":"2025-01-17T13:18:14","guid":{"rendered":"https:\/\/www.locaweb.com.br\/ajuda\/?post_type=ht_kb&#038;p=37090"},"modified":"2025-01-17T10:18:26","modified_gmt":"2025-01-17T13:18:26","slug":"python-request-post","status":"publish","type":"ht_kb","link":"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/python-request-post\/","title":{"rendered":"Como enviar &#8220;POST request&#8221; no Python?"},"content":{"rendered":"<p>Ao desenvolver aplica\u00e7\u00f5es que precisam conversar com servidores, pode ser necess\u00e1rio utilizar o <strong>Python requests POST<\/strong>. O recurso \u00e9 \u00fatil para enviar as informa\u00e7\u00f5es dos dispositivos para o servidor em situa\u00e7\u00f5es como cria\u00e7\u00e3o de novos cadastros ou atualiza\u00e7\u00e3o de informa\u00e7\u00f5es, por exemplo.<\/p>\n<p>Diferentemente das requisi\u00e7\u00f5es GET, que s\u00e3o usadas para buscar informa\u00e7\u00f5es, a requisi\u00e7\u00e3o POST serve para enviar conte\u00fado. Podem ser dados de um formul\u00e1rio preenchido online ou at\u00e9 arquivos. Al\u00e9m disso, essas a\u00e7\u00f5es costumam gerar modifica\u00e7\u00f5es no servidor.<\/p>\n<p>O processo pode parecer complicado, no entanto, ao utilizar o <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/python\/\" target=\"_blank\" rel=\"noopener noreferrer\">Python,<\/a> \u00e9 poss\u00edvel finaliz\u00e1-lo sem problemas.<\/p>\n    \t\t<div class=\"hts-messages hts-messages--alert  hts-messages--withtitle hts-messages--withicon \"   >\r\n    \t\t\t<span class=\"hts-messages__title\">Importante!<\/span>    \t\t\t    \t\t\t\t<p>\r\n    \t\t\t\t\t<\/p>\n<p>Importante destacarmos que n\u00e3o \u00e9 poss\u00edvel usar Python em hospedagens compartilhadas\/dedicadas. Esse passo a passo que vamos ensinar \u00e9 mais voltado aos planos de VPS Locaweb e Cloud Server Pro.<\/p>\n<p>    \t\t\t\t<\/p>\r\n    \t\t\t    \t\t\t\r\n    \t\t<\/div><!-- \/.ht-shortcodes-messages -->\r\n    \t\t\n<h2>Como enviar \u201cPOST request\u201d no Python?<\/h2>\n<p>Enviar uma requisi\u00e7\u00e3o POST em Python n\u00e3o \u00e9 um processo complicado.<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Primeiro, voc\u00ea deve <strong>instalar a biblioteca requests<\/strong> por meio do <em>pip install requests<\/em>.<\/li>\n<li>Em seguida, basta <strong>enviar a solicita\u00e7\u00e3o<\/strong> a partir do m\u00e9todo <em>requests.POST<\/em>. Confira um exemplo:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre><em>import requests<\/em>\r\n\r\n<em>url = 'https:\/\/example.com\/api'<\/em>\r\n\r\n<em>payload = {'key1': 'value1', 'key2': 'value2'}<\/em>\r\n\r\n<em>response = requests.POST(url, data=payload)<\/em>\r\n\r\n<em>print(response.status_code, response.text)<\/em><\/pre>\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Caso deseje <strong>enviar dados em JSON<\/strong>, utilize o par\u00e2metro <em>json<\/em> em vez de <em>data<\/em>, da seguinte forma:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre><em>response = requests.POST(url, json=payload)<\/em>\r\n\r\n<em>print(response.json())<\/em><\/pre>\n<h2>Outros tipos de solicita\u00e7\u00e3o de POST<\/h2>\n<p>Existem diversas formas de fazer requests Python POSTs.<\/p>\n<p>Por exemplo, voc\u00ea pode<strong> mandar dados em formato JSON, enviar arquivos ou, at\u00e9 mesmo, usar formul\u00e1rios HTML<\/strong>. Cada forma tem a sua utilidade, a depender do objetivo da pessoa usu\u00e1ria.<\/p>\n<h2>O que \u00e9 um &#8220;python request POST&#8221;?<\/h2>\n<p>Requests POST Python s\u00e3o uma <strong>forma de enviar informa\u00e7\u00f5es para um servidor com a linguagem Python<\/strong>, o que costuma ser feito com a ajuda da biblioteca requests. O m\u00e9todo \u00e9 usado para criar ou modificar recursos de maneira pr\u00e1tica e direta.<\/p>\n<p>Na programa\u00e7\u00e3o, especialmente quando falamos de APIs, fazer um &#8220;request POST&#8221; significa que a pessoa usu\u00e1ria envia dados, como nome e e-mail, para um &#8220;endpoint&#8221;, ou seja, para um endere\u00e7o do servidor que vai receber e processar essas informa\u00e7\u00f5es.<\/p>\n<h3>O que \u00e9 um HTTP POST?<\/h3>\n<p>O HTTP POST \u00e9 o <strong>termo t\u00e9cnico que descreve o processo de envio de informa\u00e7\u00f5es para um servidor<\/strong>. Ao fazer um POST, a pessoa usu\u00e1ria avisa ao servidor que existem dados para serem enviados.<\/p>\n<p>Em Python, isso \u00e9 feito por meio de um request POST Python, no qual <strong>o objetivo pode ser criar algo novo<\/strong>, como um cadastro, <strong>ou atualizar informa\u00e7\u00f5es j\u00e1 existentes no servidor<\/strong>. Esse processo pode ser usado tanto para servidores locais quanto para um <a href=\"https:\/\/www.locaweb.com.br\/cloud\/cloud-server-pro\/\" target=\"_blank\" rel=\"noopener noreferrer\">cloud server<\/a>.<\/p>\n<h3>Qual \u00e9 a sintaxe?<\/h3>\n<p>A sintaxe de um HTTP POST se refere \u00e0 estrutura da requisi\u00e7\u00e3o, que inclui alguns elementos b\u00e1sicos. Veja, a seguir.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>URL<\/strong>: endere\u00e7o para o qual os dados s\u00e3o enviados. \u00c9 o destino da mensagem, ou seja, o lugar espec\u00edfico no servidor que vai receber e processar as informa\u00e7\u00f5es;<\/li>\n<li><strong>Cabe\u00e7alhos (ou Headers)<\/strong>: instru\u00e7\u00f5es dadas ao servidor sobre os dados que s\u00e3o enviados;<\/li>\n<li><strong>Corpo (ou Body)<\/strong>: local em que est\u00e3o os dados que devem ser enviados, como o nome, o e-mail e a senha. \u00c9 aqui que fica o conte\u00fado principal da sua mensagem.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Por exemplo, ao enviar dados para um <a href=\"https:\/\/www.locaweb.com.br\/servidor-vps\/\" target=\"_blank\" rel=\"noopener noreferrer\">servidor VPS<\/a>, voc\u00ea deve especificar a URL, incluir os cabe\u00e7alhos necess\u00e1rios e definir o corpo da requisi\u00e7\u00e3o, como o nome, e-mail e outros dados.<\/p>\n<p>Em Python, por exemplo, podemos fazer um POST com a biblioteca requests para inserir dados de nome e idade. A sintaxe ficaria da seguinte forma:<\/p>\n<pre><em>import requests<\/em>\r\n\r\n<em>url = \"https:\/\/api.exemplo.com\/endpoint\"<\/em>\r\n\r\n<em>dados = {<\/em>\r\n\r\n<em> \"nome\": \"Jo\u00e3o\",<\/em>\r\n\r\n<em> \"idade\": 25<\/em>\r\n\r\n<em>}<\/em>\r\n\r\n<em>resPOSTa = requests.POST(url, json=dados)<\/em><\/pre>\n<h3>Quais s\u00e3o os par\u00e2metros?<\/h3>\n<p>Em uma requisi\u00e7\u00e3o HTTP POST,<strong> os par\u00e2metros s\u00e3o as informa\u00e7\u00f5es transmitidas ao servidor<\/strong>. Esses dados podem incluir, por exemplo:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>URL<\/strong>: endere\u00e7o do servidor para ser enviada a requisi\u00e7\u00e3o, ou seja, o &#8220;destino&#8221; da mensagem;<\/li>\n<li><strong>Headers (Cabe\u00e7alhos)<\/strong>: instru\u00e7\u00f5es que s\u00e3o passadas junto com a requisi\u00e7\u00e3o, a fim de explicar ao servidor como lidar com os dados enviados. Um exemplo de cabe\u00e7alho \u00e9 o <em>Content-Type<\/em>, que indica o tipo de dado enviado, como <em>application\/json<\/em> (se enviar em JSON) ou <em>application\/x-www-form-urlencoded<\/em> (para formul\u00e1rios);<\/li>\n<li><strong>Dados (Data ou Body)<\/strong>: dados reais que s\u00e3o enviados ao servidor. Pode ser qualquer tipo de informa\u00e7\u00e3o como nome, e-mail ou uma imagem, por exemplo;<\/li>\n<li><strong>Autentica\u00e7\u00e3o<\/strong>: token ou outra forma de identifica\u00e7\u00e3o que sinaliza que a requisi\u00e7\u00e3o \u00e9 segura e feita por uma pessoa usu\u00e1ria autorizada.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Com essas orienta\u00e7\u00f5es, voc\u00ea j\u00e1 sabe como enviar requisi\u00e7\u00f5es POST no Python e se comunicar com diferentes tipos de servidores.<\/p>\n<p>Quer simplificar ainda mais o desenvolvimento da sua aplica\u00e7\u00e3o? Conte com a <a href=\"https:\/\/www.locaweb.com.br\/hospedagem-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">hospedagem WordPress<\/a> da Locaweb e tenha tudo o que precisa em um s\u00f3 lugar!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ao desenvolver aplica\u00e7\u00f5es que precisam conversar com servidores, pode ser necess\u00e1rio utilizar o Python requests POST. O recurso \u00e9 \u00fatil para enviar as informa\u00e7\u00f5es dos dispositivos para o servidor em situa\u00e7\u00f5es como cria\u00e7\u00e3o de novos cadastros ou atualiza\u00e7\u00e3o de informa\u00e7\u00f5es, por exemplo. Diferentemente das requisi\u00e7\u00f5es GET, que s\u00e3o usadas para&#8230;<\/p>\n","protected":false},"author":48,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[118],"ht-kb-tag":[],"class_list":["post-37090","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-vps-locaweb"],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/comments?post=37090"}],"version-history":[{"count":2,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37090\/revisions"}],"predecessor-version":[{"id":37092,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37090\/revisions\/37092"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/media?parent=37090"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-category?post=37090"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-tag?post=37090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}