環境搭建好後,接下來咱們先來了解一下requests的一些簡單使用,主要包括:python
本節首先來了解一下requests庫中如何發送get請求:json
1、看下方法定義:api
一、到官方文檔去了下requests.get()方法的定義,以下:post
二、點擊右上角的【source】,看一下它的源碼以下:url
看到最後一行return,get方法最後是經過調用 requests.request 方法實現的,其實在其它的請求方法如post,put,head,delete等方法都是調用的request方法,而後把請求方法的類型傳遞給request方法第一個參數。spa
三、HTTP協議是一個基於請求/響應模式的、無狀態的,應用層協議。既然有請求,就有響應,來看下resquest中經常使用的響應信息:代理
2、get方法簡單使用: code
一、不帶參數的get:xml
# -*- coding:utf-8 -*- #不帶參數的get
import requests import json host = "http://httpbin.org/" endpoint = "get" url = ''.join([host,endpoint]) r = requests.get(url) #response = r.json()
print type(r.text) print (eval(r.text))
輸出:blog
{ 'origin': '183.14.133.88', 'headers': { 'Connection': 'close', 'Host': 'httpbin.org', 'Accept-Encoding': 'gzip,
deflate',
'Accept': '*/*', 'User-Agent': 'python-requests/2.18.1' }, 'args': { }, 'url': 'http: //httpbin.org/get' }
# -*- coding:utf-8 -*- #帶參數的get
import requests import json host = "http://httpbin.org/" endpoint = "get" url = ''.join([host,endpoint]) params = {"show_env":"1"} r = requests.get(url=url,params=params) print r.url
輸出:
http://httpbin.org/get?show_env=1 { 'origin': '183.14.133.88', 'headers': { 'X-Request-Id': 'ebe922b4-c463-4fe9-9faf-49748d682fd7', 'Accept-Encoding': 'gzip,
deflate',
'X-Forwarded-Port': '80', 'Total-Route-Time': '0', 'Connection': 'close', 'Connect-Time': '0', 'Via': '1.1vegur', 'X-Forwarded-For': '183.14.133.88', 'Accept': '*/*', 'User-Agent': 'python-requests/2.18.1', 'X-Request-Start': '1504755961007', 'Host': 'httpbin.org', 'X-Forwarded-Proto': 'http' }, 'args': { 'show_env': '1' }, 'url': 'http: //httpbin.org/get?show_env=1' }
三、帶header的get:
# -*- coding:utf-8 -*-
import requests import json host = "http://httpbin.org/" endpoint = "get" url = ''.join([host,endpoint]) headers = {"User-Agent":"test request headers"} r = requests.get(url) r = requests.get(url,headers=headers) #response = r.json()
print (eval(r.text))['headers']['User-Agent']
輸出:
test request headers
四、同時帶參數和header:
# -*- coding:utf-8 -*-
import requests import json host = "http://httpbin.org/" endpoint = "get" url = ''.join([host,endpoint]) headers = {"User-Agent":"test request headers"} params = {"show_env":"1"} r = requests.get(url) r = requests.get(url,headers=headers,params=params) #response = r.json()
print (eval(r.text))['headers']['User-Agent'] print r.url
輸出:
test request headers http://httpbin.org/get?show_env=1