Python學習筆記之——requests庫

requests庫一個優雅而簡單的用於Python的HTTP庫,能夠極大的簡化咱們發送http請求及獲取響應的代碼。html

requests是python的第三方庫,因此使用以前須要先安裝。python

一、安裝以後就可導入requests模板使用

import requests

二、requests發送請求

r = requests.get('https://github.com/timeline.json')
r = requests.post("http://httpbin.org/post")
r = requests.put("http://httpbin.org/put")
r = requests.delete("http://httpbin.org/delete")
r = requests.head("http://httpbin.org/get")
r = requests.options("http://httpbin.org/get")

三、傳遞 URL 參數

有些請求是有參數的。好比 httpbin.org/get?key=val。 Requests 容許你使用 params 關鍵字參數,以一個字符串字典來提供這些參數。舉例來講,若是你想傳遞 key1=value1 和 key2=value2 到 httpbin.org/get ,那麼你能夠使用以下代碼:git

#coding:utf-8
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)
print r.url

執行結果:github

http://httpbin.org/get?key2=value2&key1=value1

注意字典裏值爲 None 的鍵都不會被添加到 URL 的查詢字符串裏。json

你還能夠將一個列表做爲值傳入:api

#coding:utf-8
import requests
payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
r = requests.get('http://httpbin.org/get', params=payload)
print r.url

執行結果:app

http://httpbin.org/get?key2=value2&key2=value3&key1=value1

四、響應內容

舉例:post

#coding: utf-8
import requests
#發請求和傳參
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
#打印請求返回的status_code
print r.status_code
#打印請求返回的headers
print r.headers
#打印請求頭裏面的content-type
print r.headers['content-type']
#打印編碼
print r.encoding
#打印請求返回的文本
print r.text
#將請求響應的json字符串轉換成了python的dict
print r.json()

執行結果:ui

403
{'Status': '403 Forbidden', 'X-RateLimit-Remaining': 。。。。
application/json; charset=utf-8
utf-8
{"message":"Maximum number of login attem。。。。。
{u'documentation_url': u'https://developer.。。。。。

上面的例子裏,咱們將響應的json字符串轉換成了python的dict編碼

 

總結:

官方中文文檔說明:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

相關文章
相關標籤/搜索