日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

requests高级用法

發布時間:2023/12/2 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 requests高级用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

會話對象

當你向同一主機發送多個請求時,session會重用底層的tcp連接,從而提升性能,同時session也會為所有請求保持 cookie。

#!/usr/bin/env python # -*- coding:utf-8 -*- # __author__:kzg import requestss = requests.Session() # 此地址cookie為空 r = s.get('http://httpbin.org/cookies') print(r.text) 結果: {"cookies": {} }

  session可以保持cookie來訪問后續同一服務器上的地址

#!/usr/bin/env python # -*- coding:utf-8 -*- # __author__:kzg import requestss = requests.Session() r = s.get('http://httpbin.org/cookies/set/sessioncookie/123456789') print(r.text) # cookie被保持來訪問此url rc = s.get('http://httpbin.org/cookies') print(rc.text)結果: {"cookies": {"sessioncookie": "123456789"} }{"cookies": {"sessioncookie": "123456789"} }

  

  可以修改session的屬性(cookies,headers)來為請求方法(get,post)提供缺省數據,可保跨請求保持。

?

# -*- coding:utf-8 -*- # __author__:kzg import requests # 生成session對象 s = requests.Session() print(s.headers) # 修改session屬性 s.headers.update({'User-Agent':'kong'}) print(s.headers) r = s.get('http://httpbin.org/headers') print(r.text) 結果: {'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.18.1'} {'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'kong'} {"headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Host": "httpbin.org", "User-Agent": "kong"} }

 也可以通過傳遞方法層的參數來提供缺省數據,它會與已設置的會話層數據合并,不能跨請求保持。

# -*- coding:utf-8 -*- # __author__:kzg import requests # 生成session對象 s = requests.Session() # 修改session屬性 s.headers.update({'User-Agent':'kong'}) # 方法級參數cookies r = s.get('http://httpbin.org/headers',cookies={'from-my': 'browser'}) print(r.text) # 方法級參數不能被保持到下一個請求 r1 = s.get('http://httpbin.org/headers') print(r1.text) 結果: {"headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Cookie": "from-my=browser", "Host": "httpbin.org", "User-Agent": "kong"} }{"headers": {"Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Host": "httpbin.org", "User-Agent": "kong"} }

  

  請求與響應對象

你任何時間調用requests.*()的時候,都是在做兩件重要的事情。

  1、你在構建request對象,并把它發送到某服務器去請求或查詢一些資源

  2、產生response對象來接收從服務器返回的所有響應,也包含你創建的request對象

# _*_ coding: utf-8 _*_ import requests# 生成一個會話對象 s = requests.Session()r = requests.get('http://en.wikipedia.org/wiki/Monty_Python') # 服務器返回來的頭部信息 print r.headers # 發送給服務器的頭部信息 print r.request.headers

  

  工作流響應體內容

如果你在請求中使用了stream=True:

  1、僅有響應體會被立即下載,只有當訪問response.content屬性時響應體才會被下載

  2、此時連接保持打開狀態,需要調用response.close來關閉連接

  3、連接效率低下

# _*_ coding: utf-8 _*_ import requeststarball_url = 'https://github.com/kennethreitz/requests/tarball/master' r = requests.get(tarball_url, stream=True) print r.headers['content-length']
結果:
3336071

  

  文件上傳

#!/usr/bin/python3 # -*- coding: utf-8 -*- import requestsurl = 'http://httpbin.org/post' files = {'file': open('D:\\projects\\blog\\my_temp.xlsx', 'rb')} ret = requests.post(url, files=files) print(ret.text)

  

  設置文件名、文件類型和請求頭

#!/usr/bin/python3 # -*- coding: utf-8 -*- import requestsurl = 'http://httpbin.org/post' files = {'file': ('my_temp.xlsx',open('D:\\projects\\blog\\my_temp.xlsx', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})} ret = requests.post(url, files=files) print(ret.text)

  

?  流式上傳

允許你在請求中發送大的數據流或文件,此時requests會根據文件大小來設置headers中的content-length,所以文件最好以二進制方式打開

with open('massive-body','rb') as f:requests.post('http://some.url/streamed', data=f)

  

  為請求設置代理

如果需要為請求設置代理,只需要給相應的請求提供proxies參數即可。

方法一、

$ export HTTP_PROXY="http://10.10.1.10:3128" $ export HTTPS_PROXY="http://10.10.1.10:1080" $ python >>> import requests >>> requests.get("http://example.org")

方法二、

# _*_ coding: utf-8 _*_ import requestsproxies={"http":"http://10.10.1.10:3128","https":"http://10.10.1.10:1080", }r = requests.get("http://example.org",proxies=proxies)

  

  超時

為防止服務器不能及時響應,大部分發至外部服務器的請求都應該帶著 timeout 參數

# _*_ coding: utf-8 _*_ import requests# 同時設置connect,read的timeout r = requests.get('https://github.com', timeout=5) # 分別設置connect和read的timeout r = requests.get('https://github.com', timeout=(3.05, 27)) # 永久等待,直到讀完 r = requests.get('https://github.com', timeout=None)

  

?

轉載于:https://www.cnblogs.com/kongzhagen/p/6236491.html

總結

以上是生活随笔為你收集整理的requests高级用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产免费一区二区三区网站免费 | 轻点好疼好大好爽视频 | 精品无码国产av一区二区三区 | 713电影免费播放国语 | 国产真实的和子乱拍在线观看 | 免费三级网 | 一区二区av | 亚洲精品综合精品自拍 | 男女涩涩网站 | 亚洲奶水xxxx哺乳期 | 国产在线观看无码免费视频 | 中文字幕欧美人妻精品 | 日韩精品一区二区三区电影 | 国产精品夜夜夜爽张柏芝 | 99热欧美| 成人免费视屏 | 性视频免费看 | 一区二区三区四区五区六区 | 在线观看免费视频a | 国产一区二区免费 | 亚洲美女av在线 | 精品国产一区二区三区在线 | 日韩高清中文字幕 | 欧美日韩国产成人在线 | 黄色麻豆视频 | 国产在线观看精品 | 91综合视频 | 岛国精品一区二区 | 日日爱99 | 欧美z○zo重口另类黄 | 国产视频九色蝌蚪 | 欧美日韩中文字幕在线 | 欧美三级韩国三级日本三斤 | www.综合色| 久久午夜剧场 | 91毛片网站 | 干美女少妇 | 亚洲a v网站| 色综合图片 | 国产极品免费 | 欧美性动态图 | 国产有码在线 | 欧美在线免费 | 欧美激情自拍偷拍 | 我和单位漂亮少妇激情 | 狠狠97 | 香蕉网站在线 | 另类亚洲激情 | 欧美色图小说 | 免费在线播放av | 少妇一级淫片免费放 | 影音先锋波多野结衣 | www.97ai.com| 成人福利午夜 | av中文在线资源 | 丰满的女邻居 | 三年大片在线观看 | 国产乱国产乱300精品 | 91制服诱惑| 亚洲911精品成人18网站 | 一本一道久久a久久精品蜜桃 | 婷婷精品在线 | 成年人黄色免费视频 | 国产福利在线视频观看 | 日本视频一区二区三区 | 在线免费观看国产精品 | 精品一区在线视频 | 百合sm惩罚室羞辱调教 | 成人tiktok黄短视频 | 欧美色射 | 操你妹影院 | 国产精品成av人在线视午夜片 | 精品成在人线av无码免费看 | 91久久久久久久久久久久久 | 五月天黄色网址 | 外国av在线 | 国产精品久久久久久久久久 | 永久免费在线看片 | 亚州av影院 | 欧美手机在线观看 | 少妇又紧又色又爽又刺激视频 | 天天草av| 久草热在线 | 伊人网av | 亚洲精品一区在线 | 中文字幕无码精品亚洲资源网久久 | 97成人资源 | 未满十八18禁止免费无码网站 | www av| 亚洲无毛视频 | 成人99| 日韩成人精品在线观看 | 我会温柔一点的日剧 | 狠狠爱五月婷婷 | 欧美一区二区在线视频观看 | 欧美一级特黄视频 | 亚洲一级av无码毛片精品 | 少妇被又大又粗又爽毛片久久黑人 | 日韩欧美精品在线播放 |