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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

fetch 自动加cookie_WEBUI自动化开发(第五章)

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fetch 自动加cookie_WEBUI自动化开发(第五章) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Requests是Python的非常常用的HTTP的庫,主要用于網絡爬蟲和接口自動化測試。下面使用Requests最新版本,通過pip install requests安裝。

pip install requestsCollecting requests Downloading requests-2.25.0-py2.py3-none-any.whl (61 kB) |████████████████████████████████| 61 kB 99 kB/s Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.9/site-packages (from requests) (1.26.2)Collecting certifi>=2017.4.17 Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB) |████████████████████████████████| 147 kB 6.7 kB/s Collecting chardet<4,>=3.0.2 Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)Collecting idna<3,>=2.5 Downloading idna-2.10-py2.py3-none-any.whl (58 kB) |████████████████████████████████| 58 kB 5.2 kB/s Installing collected packages: idna, chardet, certifi, requestsSuccessfully installed certifi-2020.12.5 chardet-3.0.4 idna-2.10 requests-2.25.0

查看本地安裝版本

>>> import requests>>> requests.__version__'2.25.0'

我們來編寫一個請求百度首頁

分為帶參數請求和不帶參數請求的

  • https://www.baidu.com/

  • https://www.baidu.com/s?wd=suv%E6%B1%BD%E8%BD%A6(suv汽車)

Requests實現Get請求2個例子

url = "https://www.baidu.com/s?wd=Springboot"????????payload?=?{} headers = { 'Connection': 'keep-alive', 'Accept': '*/*', 'is_xhr': '1', 'X-Requested-With': 'XMLHttpRequest', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36', 'is_pbs': '%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%B9%B3%E5%8F%B0', 'Sec-Fetch-Site': 'same-origin', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Dest': 'empty', 'Referer': 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%B9%B3%E5%8F%B0&fenlei=256&oq=%25E5%25BE%25AE%25E4%25BF%25A1%25E5%2585%25AC%25E4%25BC%2597%25E5%25B9%25B3%25E5%258F%25B0&rsv_pq=dbe6f9780003d2c2&rsv_t=d1ddM3MDeEzN0o9%2BO4RzSnpDa8%2Bpu3avFyNpR4YZC3hodmvp3wBjm9N5k0s&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_btype=t&inputT=5425&rsv_sug3=5&rsv_sug1=4&rsv_sug7=100&rsv_sug4=12430&rsv_sug=1', 'Accept-Language': 'en-US,en;q=0.9', 'Cookie': 'BIDUPSID=54C0826149B7299E360B557AB5A497A6; PSTM=1602209293; BAIDUID=54C0826149B7299ED5ED2B69EA7EAE01:FG=1; BD_UPN=12314753; MCITY=-%3A; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; sug=3; sugstore=1; ORIGIN=0; bdime=0; BDSFRCVID=DUCOJeC62ZuoAecrzNDIhH2qlmwUBOTTH6aotFZDEgCmWtkRMW_mEG0P8f8g0KAbGdi6ogKK3mOTHR8F_2uxOjjg8UtVJeC6EG0Ptf8g0f5; H_BDCLCKID_SF=tbCq_IKafCP3HJ84q465bPPJqxbXqM3P02OZ0l8KtfchDpjN-n50Xx0PM-AHb47LbaTG2MbmWIQHDPbDWxOpbUtD3pOWQfrUXKj4KKJxfnLWeIJoLt5nb-cBhUJiB5JLBan7bDnIXKohJh7FM4tW3J0ZyxomtfQxtNRJ0DnjtnLhbRO4-TFKjj5LjUK; BAIDUID_BFESS=54C0826149B7299ED5ED2B69EA7EAE01:FG=1; __yjsv5_shitong=1.0_7_98da4595c8bb2361eb889d3a64fd8fc8e3d5_300_1607497358701_112.5.168.233_fb665284; delPer=0; BD_CK_SAM=1; BD_HOME=1; PSINO=6; H_PS_PSSID=1466_33225_33058_33259_33236_33099_33101_26350_33199_33144_33148; H_PS_645EC=d1ddM3MDeEzN0o9%2BO4RzSnpDa8%2Bpu3avFyNpR4YZC3hodmvp3wBjm9N5k0s; BA_HECTOR=2k0k2l2l84al2k8llc1ft394d0q; COOKIE_SESSION=82578_0_8_4_2_2_0_0_8_2_1_0_0_0_0_0_1607423260_0_1607574668%7C9%2326670_117_1607417652%7C9; Hm_lvt_aec699bb6442ba076c8981c6dc490771=1606455659,1606789969,1607417005,1607574727; Hm_lpvt_aec699bb6442ba076c8981c6dc490771=1607574727; BDSVRTM=0; WWW_ST=1607574827950' }????????response?=?requests.request("GET",?url,?headers=headers,?data=payload)????????print(response.headers)

請求的打印的Header

{'Bdpagetype': '3', 'Bdqid': '0x8e8822890000da2a', 'Cache-Control': 'private', 'Ckpacknum': '2', 'Ckrndstr': '90000da2a', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html;charset=utf-8', 'Date': 'Thu, 10 Dec 2020 05:39:06 GMT', 'Server': 'BWS/1.1', 'Set-Cookie': 'delPer=0; path=/; domain=.baidu.com, BD_CK_SAM=1;path=/, PSINO=6; domain=.baidu.com; path=/, BDSVRTM=19; path=/, H_PS_PSSID=1466_33225_33058_33259_33236_33099_33101_26350_33199_33144_33149; path=/; domain=.baidu.com', 'Strict-Transport-Security': 'max-age=172800', 'Traceid': '1607578746025443994610270496922024335914', 'Vary': 'Accept-Encoding', 'X-Ua-Compatible': 'IE=Edge,chrome=1', 'Transfer-Encoding': 'chunked'}

Requests 復雜的方法

復雜的請求方式通常帶有請求頭、代理IP、證書驗證和Cookies等功能。Requests將這一系列復雜的請求做了簡化,將這些功能在發送請求中以參數的形式傳遞并作用到請求中。

1.添加請求頭

請求頭以字典的形式表示,然后在發送請求中設置headers參數。請求中設置請求頭相當于把程序偽裝成瀏覽器來向網站發送請求,主要設置User-Agent和Referer的內容,因為很多網站反爬蟲都是根據這兩個內容來判斷當前請求是否合法。

url = "https://www.baidu.com/s?wd=Springboot" payload = {} headers = { 'Connection': 'keep-alive', 'X-Requested-With': 'XMLHttpRequest', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36', }????????response?=?requests.request("GET",?url,?headers=headers,?data=payload)????????print(response.text)

2.使用代理IP

使用方法與請求頭的使用方法一致,只需設置proxies參數即可。proxies以字典的形式表示,字典的key主要有http和https,這是兩種不同的HTTP協議,字典的value是一個可訪問的IP地址,免費的代理IP可以網上搜索,不過很多都是無法使用。代理IP的實現代碼如下:

3.證書驗證

網站中出現證書不合法的時候,只需設置verify=False,等于關閉證書驗證。參數verify的默認值為True。如果需要設置證書文件,那么可將參數verify值設為證書所在的路徑。

4.超時設置

發送請求后,由于網絡、服務器等因素,從請求到響應會有一個時間差。如果不想程序等待時間過長或者延長等待時間,可以設定參數timeout的等待秒數,超過這個等待時間就會停止等待響應并引發一個異常。使用代碼如下:

? ? requests.get("https://www.baidu.com/", timeout=1)

? ? requests.post("https://www.baidu.com/", timeout=1)

5.使用Cookies

在請求過程中使用Cookies也只需設置參數Cookies即可。Cookies的作用是標識用戶身份,在Requests中以字典或RequestsCookieJar對象作為參數。獲取方式主要從瀏覽器讀取或通過程序運行產生。下面的例子進一步講解如何使用Cookies。

print(r.utils.dict_from_cookiejar(response.cookies)) 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的fetch 自动加cookie_WEBUI自动化开发(第五章)的全部內容,希望文章能夠幫你解決所遇到的問題。

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