iT邦幫忙

鐵人檔案

第 11 屆 iThome 鐵人賽
回列表
自我挑戰組

Why it works: python requests and urllib3 系列

當功能無法運作時,我們一定會問為什麼;當功能正常運作時,反而很少會去問為什麼,反正它會動,如此一來,失去了一個能夠了解內部的工作原理的機會,這次想透過很常使用到的requests模組來發揮一下Why it works的精神並且看有沒有機會學習open source模組化的寫法和架構

鐵人鍊成 | 共 30 篇文章 | 10 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day1-從requests的github開始吧

首先會從github,看看README了解requests想解決的問題和範圍。 再來觀察requests的程式碼與目錄結構,針對想理解的程式碼看內部的實現除了學...

2019-09-17 ‧ 由 j2hongming 分享
DAY 2

Day2-setup.py的用途

setup.py setup.py is the build script for setuptools. setuptools (which inclu...

2019-09-18 ‧ 由 j2hongming 分享
DAY 3

Day3-Makefile

Makefile基本 Makefile 語法和示範 Makefile in requests 只有docs寫在.PHONY的定義內,可能是因為相同目錄下有一個d...

2019-09-19 ‧ 由 j2hongming 分享
DAY 4

Day4-docs

requests的文件是透過Sphinx生成,使用reStructuredText,副檔名為.rst 從docs/index.rst觀察可分成User Gu...

2019-09-20 ‧ 由 j2hongming 分享
DAY 5

Day5-__init__.py

package and module 我們先從package開始吧。根據python文件的說法,package是一種帶有__path__屬性的module A...

2019-09-21 ‧ 由 j2hongming 分享
DAY 6

Day6-requests.get

Why requests.get works 來看看README內的給我們的範例 import requests r = requests.get('https...

2019-09-22 ‧ 由 j2hongming 分享
DAY 7

Day7-Session-constructor

def __init__(self): #: A case-insensitive dictionary of headers to be s...

2019-09-23 ‧ 由 j2hongming 分享
DAY 8

Day8-Session-Prepare and Send

prepare 建立Request物件,並使用prepare_request更新cookie, auth, 最後拿到PreparedRequest 準備se...

2019-09-24 ‧ 由 j2hongming 分享
DAY 9

Day9-Models-Request and PreparedRequest

Request 為了產生PreparedRequest,需要先建立的物件,使用方式如下 import requests req = requests.Reque...

2019-09-25 ‧ 由 j2hongming 分享
DAY 10

Day10-Models-Response

adapters.py中的HTTPAdapter,build_response轉換urllib3的response object成為requests的Respo...

2019-09-26 ‧ 由 j2hongming 分享