✉️ Requests Cheat Sheet

📡 Site oficial do Requests (Documentação)

# Comando / Função / Parâmetro O que faz Exemplo
1requests.get()Envia uma requisição GETrequests.get(url)
2requests.post()Envia uma requisição POSTrequests.post(url, data=payload)
3requests.put()Envia uma requisição PUTrequests.put(url, data={'k':'v'})
4requests.delete()Envia uma requisição DELETErequests.delete(url)
5requests.head()Envia uma requisição HEAD (apenas cabeçalhos)requests.head(url)
6requests.patch()Envia uma requisição PATCHrequests.patch(url, data={'k':'v'})
7requests.options()Envia uma requisição OPTIONSrequests.options(url)
8requests.request()Método genérico para qualquer verbo HTTPrequests.request('GET', url)
9response.status_codeRetorna o código de status HTTPif r.status_code == 200:
10response.textConteúdo da resposta em string (decodificado)print(r.text)
11response.contentConteúdo da resposta em byteswith open('img.png', 'wb') as f: f.write(r.content)
12response.json()Decodifica conteúdo JSON para dicionário Pythondata = r.json()
13response.headersDicionário com os cabeçalhos da respostar.headers['Content-Type']
14response.urlA URL final da requisição (após redirecionamentos)print(r.url)
15response.encodingCodificação usada para decodificar .textr.encoding = 'utf-8'
16response.okTrue se status_code for entre 200 e 299if r.ok: print("Sucesso")
17response.historyLista de respostas de redirecionamento anterioresprint(r.history)
18response.cookiesCookies enviados pelo servidorval = r.cookies['sessao_id']
19response.elapsedTempo decorrido entre o envio e a respostaprint(r.elapsed.total_seconds())
20response.raise_for_status()Levanta exceção se houver erro HTTP (4xx ou 5xx)r.raise_for_status()
21params=Dicionário de parâmetros para a query string (?k=v)requests.get(url, params={'id': 1})
22data=Dicionário/corpo para formulários (form-encoded)requests.post(url, data={'user': 'a'})
23json=Serializa automaticamente um dict para JSON no corporequests.post(url, json={'id': 123})
24headers=Dicionário de cabeçalhos customizadosrequests.get(url, headers={'User-Agent': 'my-app'})
25files=Dicionário para upload de arquivosrequests.post(url, files={'file': open('a.txt', 'rb')})
26auth=Tupla para Autenticação Básica (user, pass)requests.get(url, auth=('user', 'pass'))
27timeout=Tempo limite em segundos para a requisiçãorequests.get(url, timeout=5)
28allow_redirects=Habilita ou desabilita redirecionamentos automáticosrequests.get(url, allow_redirects=False)
29proxies=Dicionário de configurações de proxy (HTTP/HTTPS)requests.get(url, proxies={'http': '...'})
30stream=TrueMantém a conexão aberta para baixar grandes arquivosrequests.get(url, stream=True)
31verify=Verifica ou ignora certificados SSL (True/False)requests.get(url, verify=False)
32requests.Session()Cria um objeto de sessão (persiste cookies)s = requests.Session()
33session.get()Realiza GET usando os cookies da sessãos.get(url)
34session.headers.update()Define cabeçalhos padrão para toda a sessãos.headers.update({'token': 'xyz'})
35session.authDefine autenticação padrão para a sessãos.auth = ('user', 'pass')
36session.close()Fecha a sessão e libera conexõess.close()
37requests.utils.dict_from_cookiejar()Converte jar de cookies para dicionáriodict_cookies = requests.utils.dict_from_cookiejar(r.cookies)
38requests.cookies.RequestsCookieJar()Cria um novo container de cookies manualjar = requests.cookies.RequestsCookieJar()
39requests.exceptions.RequestExceptionClasse base para todas as exceções do Requestsexcept requests.exceptions.RequestException:
40requests.exceptions.HTTPErrorErro lançado por raise_for_status()except requests.exceptions.HTTPError:
41requests.exceptions.ConnectionErrorErro de DNS ou falha na conexãoexcept requests.exceptions.ConnectionError:
42requests.exceptions.TimeoutErro quando a requisição excede o tempo limiteexcept requests.exceptions.Timeout:
43HTTPBasicAuthObjeto para autenticação básica explícitafrom requests.auth import HTTPBasicAuth
44HTTPDigestAuthObjeto para autenticação Digestfrom requests.auth import HTTPDigestAuth
45requests.utils.quote()Codifica caracteres especiais para URLrequests.utils.quote('foo bar')
46requests.codes.okReferência simbólica para status 200if r.status_code == requests.codes.ok:
47requests.codes.not_foundReferência simbólica para status 404if r.status_code == requests.codes.not_found: