本文知識點
- 安裝kdl包
- 功能介紹
- 如何獲取訂單號與API key
- 使用樣例
- 進階學習
安裝kdl包
pip install kdl
功能展示
- 獲取訂單到期時間
- 獲取訂單的白名單
- 設置訂單的白名單
- 獲取IP
- 檢測IP有效性
- 獲取IP餘額
如何獲取訂單號與API key
登錄快代理官網,打開會員中心,可以看到我的訂單與API key
使用樣例
獲取訂單到期時間
import kdl
# 938452897319117是要查詢的訂單號
# 8b0zeiofqrpq5ay594hu8vq7ojztmta6是此訂單號的API key
auth = kdl.Auth("938452897319117", "8b0zeiofqrpq5ay594hu8vq7ojztmta6")
client = kdl.Client(auth)
# 獲取訂單到期時間, 返回時間字符串
expire_time = client.get_order_expire_time()
print("expire time", expire_time)
運行結果
獲取訂單的白名單
import kdl
# 938452897319117是要查詢的訂單號
# 8b0zeiofqrpq5ay594hu8vq7ojztmta6是此訂單號的API key
auth = kdl.Auth("938452897319117", "8b0zeiofqrpq5ay594hu8vq7ojztmta6")
client = kdl.Client(auth)
# 獲取ip白名單, 返回ip列表
ip_whitelist = client.get_ip_whitelist()
print("ip whitelist", ip_whitelist)
設置訂單的白名單
import kdl
# 938452897319117是要查詢的訂單號
# 8b0zeiofqrpq5ay594hu8vq7ojztmta6是此訂單號的API key
auth = kdl.Auth("938452897319117", "8b0zeiofqrpq5ay594hu8vq7ojztmta6")
client = kdl.Client(auth)
# 設置ip白名單,參數類型爲字符串或列表或元組
# 成功則返回True, 否則拋出異常
client.set_ip_whitelist([])
client.set_ip_whitelist("183.221.150.77")
print(client.get_ip_whitelist())
提取IP
這裏注意我的訂單是個私密代理的訂單,提取的參數要參考私密代理的獲取IP接口
import kdl
# 938452897319117是要查詢的訂單號
# 8b0zeiofqrpq5ay594hu8vq7ojztmta6是此訂單號的API key
auth = kdl.Auth("938452897319117", "8b0zeiofqrpq5ay594hu8vq7ojztmta6")
client = kdl.Client(auth)
# 提取私密代理ip, 第一個參數爲提取的數量, 其他參數以關鍵字參數的形式傳入(不需要傳入signature和timestamp)
# 具體有哪些參數請參考幫助中心: "https://www.kuaidaili.com/doc/api/getdps/"
# 返回ip列表
# 注意:若您使用的是python2, 且在終端調用,或在文件中調用且沒有加 "# -*- coding: utf-8 -*-" 的話
# 傳入area參數時,請傳入unicode類型,如 area=u'北京,上海'
ips = client.get_dps(num=5, sign_type='hmacsha1', format='json', pt=1, area='北京,上海,廣東')
print("dps proxy: ", ips)
檢測IP有效性
這裏的IP有效性並不是指IP對實際業務的可用性,而是當前IP是否還存活。有效的爲true,無效的爲false
import kdl
# 938452897319117是要查詢的訂單號
# 8b0zeiofqrpq5ay594hu8vq7ojztmta6是此訂單號的API key
auth = kdl.Auth("938452897319117", "8b0zeiofqrpq5ay594hu8vq7ojztmta6")
client = kdl.Client(auth)
# 檢測私密代理有效性: 返回 ip: true/false 組成的dict
ips = client.get_dps(num=5, sign_type='simple', format='json')
valids = client.check_dps_vali
獲取IP餘額
此方法只對私密代理集中提取與私密代理按量付費的訂單有效
import kdl
# 978454633327237 是要查詢的訂單號
# 619anlef8rt7fsbv0mo7vsm56g62aq1o 是此訂單號的API key
auth = kdl.Auth("978454633327237", "619anlef8rt7fsbv0mo7vsm56g62aq1o")
client = kdl.Client(auth)
# 獲取計數版ip餘額(按量付費訂單和包年包月的集中提取型訂單有效)
balance = client.get_ip_balance(sign_type='hmacsha1')
print("balance: ", balance)