官網(wǎng)文檔地址:https://urllib3.readthedocs.io/en/stable/reference/index.html文章來源地址http://www.zghlxwxcb.cn/news/detail-669904.html
一、安裝
pip install urlib3
二、基本使用
import urllib3
import threading
img_list = [
"https://pic.netbian.com/uploads/allimg/220211/004115-1644511275bc26.jpg",
"https://pic.netbian.com/uploads/allimg/220215/233510-16449393101c46.jpg",
"https://pic.netbian.com/uploads/allimg/211120/005250-1637340770807b.jpg"
]
http = urllib3.PoolManager()
def get_image(url,name):
result = http.request('GET',url)
with open(f'{name}.jpg','wb') as img_file: #將獲取的數(shù)據(jù)存入文件
img_file.write(result.data)
if __name__ == '__main__':
for index,img_item in enumerate(img_list):
task = threading.Thread(target=get_image,args=(img_item,index))
task.start()
task.join()
三、urllib3.request() 發(fā)送請(qǐng)求
import urllib3
'''
參數(shù)詳解
method(字符串):指定請(qǐng)求的 HTTP 方法,例如 GET、POST、PUT、DELETE 等。默認(rèn)為 GET。
url(字符串):指定請(qǐng)求的 URL??梢允且粋€(gè)完整的 URL,也可以是一個(gè)相對(duì)路徑
fields(字典或類似對(duì)象):指定請(qǐng)求的表單字段。這個(gè)參數(shù)用于發(fā)送 application/x-www-form-urlencoded 類型的 POST 請(qǐng)求。字典的鍵是字段名,值是字段的值。
headers(字典):指定請(qǐng)求的頭部信息。字典的鍵是頭部字段名,值是字段的值
body(字節(jié)串或類似對(duì)象):指定請(qǐng)求的主體內(nèi)容。這個(gè)參數(shù)用于發(fā)送請(qǐng)求的主體數(shù)據(jù)
retries(整數(shù)或 urllib3.Retry 對(duì)象):指定請(qǐng)求的重試次數(shù)。可以是一個(gè)整數(shù),表示重試的次數(shù);也可以是一個(gè) urllib3.Retry 對(duì)象,用于更詳細(xì)地配置重試的行為。
redirect(布爾值):指定是否自動(dòng)重定向。如果設(shè)置為 True,則在遇到重定向時(shí)會(huì)自動(dòng)跟隨重定向。默認(rèn)為 True。
timeout(浮點(diǎn)數(shù)或元組):指定請(qǐng)求的超時(shí)時(shí)間??梢允且粋€(gè)浮點(diǎn)數(shù),表示超時(shí)的秒數(shù);也可以是一個(gè)包含連接超時(shí)和讀取超時(shí)的元組
preload_content(布爾值):指定是否預(yù)加載響應(yīng)內(nèi)容。如果設(shè)置為 False,則在訪問響應(yīng)內(nèi)容時(shí)才會(huì)進(jìn)行網(wǎng)絡(luò)請(qǐng)求。默認(rèn)為 True。
decode_content(布爾值):指定是否解碼響應(yīng)內(nèi)容。如果設(shè)置為 False,則響應(yīng)內(nèi)容將保持原始的字節(jié)串形式。默認(rèn)為 True。
assert_same_host(布爾值):指定是否驗(yàn)證請(qǐng)求的主機(jī)名與 URL 中的主機(jī)名是否匹配。默認(rèn)為 True。
assert_fingerprint(字符串):指定要驗(yàn)證的 SSL 證書指紋??梢允且粋€(gè) SHA-1 或 SHA-256 的十六進(jìn)制字符串,用于驗(yàn)證服務(wù)器的證書。
cert_file(字符串):指定客戶端證書文件的路徑。用于進(jìn)行雙向 SSL 認(rèn)證。
key_file(字符串):指定客戶端私鑰文件的路徑。用于進(jìn)行雙向 SSL 認(rèn)證。
ca_certs(字符串):指定 CA 證書文件的路徑。用于驗(yàn)證服務(wù)器的證書。
disable_warnings(布爾值):指定是否禁用警告消息。如果設(shè)置為 True,則 urllib3 的警告消息將被忽略。
'''
result = urllib3.request('GET',url)
四、urllib3.PoolManager() 創(chuàng)建和管理連接池,以便在發(fā)送多個(gè) HTTP 請(qǐng)求時(shí)重用連接
import urllib3
'''
參數(shù)詳解
num_pools(整數(shù)):指定連接池的數(shù)量。默認(rèn)為 10。每個(gè)連接池可以管理多個(gè)連接。
headers(字典):指定請(qǐng)求的頭部信息。字典的鍵是頭部字段名,值是字段的值
'''
http = urllib3.PoolManager()
- http.request(method,url,body,fields,headers) 發(fā)送請(qǐng)求
- method(字符串):指定請(qǐng)求的 HTTP 方法,例如 GET、POST、PUT、DELETE 等。默認(rèn)為 GET。
- url(字符串):指定請(qǐng)求的 URL??梢允且粋€(gè)完整的 URL,也可以是一個(gè)相對(duì)路徑
- body(字節(jié)串或類似對(duì)象):指定請(qǐng)求的主體內(nèi)容。這個(gè)參數(shù)用于發(fā)送請(qǐng)求的主體數(shù)據(jù)
- fields(字典或類似對(duì)象):指定請(qǐng)求的表單字段。這個(gè)參數(shù)用于發(fā)送 application/x-www-form-urlencoded 類型的 POST 請(qǐng)求。字典的鍵是字段名,值是字段的值。
- headers(字典):指定請(qǐng)求的頭部信息。字典的鍵是頭部字段名,值是字段的值
- http.clear() 清空連接池
文章來源:http://www.zghlxwxcb.cn/news/detail-669904.html
到了這里,關(guān)于python 模塊urllib3 HTTP 客戶端庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!