成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基礎篇Python發送Get請求之如何放請求頭、參數、獲取返回內容

開發 后端
本篇文章寫的是用代碼發送簡單的 get 請求,我有自己整理筆記的習慣,雖然網上這類的教程很多,但是坑也很多,自己寫的自己看放心一些。

 [[381530]]

目錄

  • 一、Python 命名規范
  • 二、發送 get 請求
    • 1.安裝 requests
    • 2.發送 get 請求
    • 3.如何判斷發送 get 請求要不要傳請求頭部?
    • 4.傳入請求頭
    • 5.權限被拒:403 - Forbidden: Access is denied
  • 三、response 的返回內容還有其它更多信息

一、Python 命名規范

  • 1.是英文字符、下劃線__、數字三個組成。
  • 2.項目(工程)名稱、文件包名、模塊名稱等是英文開頭,不能純數字,下劃線開頭的有特殊含義,不能亂用。
  • 3.腳本的名稱不能跟系統的模塊或第三方模塊重復,例如requests/unittest/selenium等。
  • 4.函數、類、方法、參數的名稱不能和系統現有的名稱重復。
  • 5.類名稱必須大寫字母開頭。除了類名稱,其它地方都用小寫開頭。命名規范最好遵守駝峰法和下劃線法,例如:qingHan、qing_han
  • 6.不要用中文、特殊字符(:;@等),有些特殊字符是有特殊作用的。

二、發送 get 請求

1.安裝 requests

cmd 中安裝 requests:

安裝:pip install requests

卸載:pip uninstall requests

查看:pip list

切記安裝的時候把抓包工具關了。

如果安裝報錯 timeout,因為沒 fq,可以這樣裝:

  1. pip install -i http://mirrors.aliyun.com/pypi/simple/ requests 

附上國內常見的鏡像源

  1. 阿里云 http://mirrors.aliyun.com/pypi/simple/
  2. 中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
  3. 豆瓣(douban) http://pypi.douban.com/simple/
  4. 清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/
  5. 中國科學技術大學 http://pypi.mirrors.ustc.edu.cn/simple/

requests 官方文檔:https://requests.readthedocs.io/zh_CN/latest/

2.發送 get 請求

一個完整的 get 請求,應該包括請求行(url)和請求頭(headers)、請求參數(params)。

  1. import  requests 
  2.  
  3. # get請求:url+params請求參數 
  4. url="http://v.juhe.cn/laohuangli/d" 
  5.  
  6. # params  建議參數單獨拿出來,這樣寫 
  7. p={"key":"abf91475fc19f66c2f1fe567edd75257"
  8. "date":"2014-09-11"
  9. a=requests.get(url,params=p)  #發請求 
  10. print(a.status_code)#狀態碼 
  11. print(a.text)#raw 文本內容 
  12. print(a.headers)#dict 
  13. print(a.headers['Date'])#key 
  14. print(a.cookies)#RequestsCookieJar 

3.如何判斷發送 get 請求要不要傳請求頭部?

先在 fiddler 中去掉請求頭部,用這個接口發下請求試試,如果是正常返回 200 就可以不傳頭部,如果在工具中發送請求后,提示 403 - Forbidden: Access is denied,那么就需要傳頭部。

請求頭中那么多參數,哪些參數需要呢?

在工具中把請求頭中的參數挨個刪掉試試,不行的話就要加上了。

 

這個是看開發怎么實現的了,自己寫接口自動化代碼的時候最好寫上請求頭,這樣規范一些。

4.傳入請求頭

頭部寫成字典格式,headers=headers,傳入請求頭。

有些響應內容是 gzip 壓縮的,text 只能打印文本內容,用 content 是二進制流。一般獲取返回值內容,推薦用 content。

  1. import  requests 
  2. url="https://www.baidu.com" 
  3.  
  4. # 構建請求頭 
  5. headers = { 
  6.     'User-Agent''Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36' 
  7.  
  8. r=requests.get(url,headers=headers) 
  9. print(r.status_code) 
  10. print(r.text)# html亂碼 
  11. print(r.content.decode("utf-8"))  #decode解壓縮展示中文 

5.權限被拒:403 - Forbidden: Access is denied

url 和請求參數都對,卻沒權限。可能原因:服務器識別到你是代碼請求的,防腳本機制。

解決辦法:需要身份驗證,代碼中的請求頭部加上 cookies)。例如:

圖片來自網絡

 

三、response 的返回內容還有其它更多信息

  • a.status_code 響應狀態碼。
  • a.content 字節方式的響應體,會自動為你解碼 gzip 和 eflate 壓縮。
  • a.headers 以字典對象存儲服務器響應頭,但是這個字典比較特殊,字典鍵不區分大小寫,若鍵不存在則返回 None。
  • a.json() Requests 中內置的 JSON 解碼器 ,json 轉成 python 的字典了。
  • a.url 獲取 url。
  • a.encoding 編碼格式。
  • a.cookies 獲取返回的 cookie。
  • a.text字符串方式的響應體,會自動根據響應頭部的字符編碼進行解碼。
  • a.raise_for_status() 失敗請求(非 200 響應)拋出異常。

注:本篇文章寫的是用代碼發送簡單的 get 請求,我有自己整理筆記的習慣,雖然網上這類的教程很多,但是坑也很多,自己寫的自己看放心一些。不喜勿噴,如有需要,自行抱走,后續會更新深入一些的文章。

本文轉載自微信公眾號「清菡軟件測試」,可以通過以下二維碼關注。轉載本文請聯系清菡軟件測試公眾號。

 

責任編輯:武曉燕 來源: 清菡軟件測試
相關推薦

2020-10-09 08:29:24

POSTGET參數

2024-07-26 08:53:09

前端參數后端

2021-02-14 23:01:16

Python參數請求

2023-11-27 08:57:24

GoGET

2015-08-06 13:33:22

PHPGETPOST

2015-10-27 11:06:51

PHPGETPOST

2021-03-06 09:54:22

PythonHTTP請求頭

2009-06-06 19:25:44

javaServlet基礎結構

2024-09-29 10:46:01

2022-11-22 08:41:22

curlDELETELinux

2021-12-03 09:49:59

鴻蒙HarmonyOS應用

2009-07-09 14:56:23

Servlet讀取

2025-02-06 08:09:20

POSTGET數據

2019-12-23 11:02:12

HTTP請求頭網絡協議

2025-04-07 11:00:00

FastAPI路徑參數接口

2011-08-03 14:33:54

IOS4.2 HTTP 請求

2013-03-28 14:11:10

iOS異步GET方法請

2021-06-17 09:32:39

重復請求并發請求Java

2021-03-27 22:21:48

HTTPPython數據

2021-08-26 06:58:14

Http請求url
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩视频在线免费观看 | 欧美一区二区三区四区五区无卡码 | 综合久久综合久久 | 99热精品在线观看 | 欧美一卡二卡在线观看 | 综合精品久久久 | 国产三级日本三级 | 亚洲成人日韩 | 免费观看一级特黄欧美大片 | 天天操天天插天天干 | 久久精品中文字幕 | 在线成人精品视频 | 日本国产精品视频 | 91精品国产美女在线观看 | 91精品国产高清久久久久久久久 | 国产欧美日韩综合精品一区二区 | 国产精品一区一区三区 | 黄色在线播放视频 | 国产精品精品久久久 | 日韩av第一页 | 日韩欧美一区二区在线播放 | 激情六月丁香婷婷 | 亚洲精品一区二区另类图片 | 精品国产乱码久久久久久a丨 | 国产午夜精品一区二区三区嫩草 | 精品欧美一区二区久久久伦 | 一区视频 | 99久久婷婷国产综合精品电影 | 久久国产香蕉 | 亚洲va欧美va人人爽午夜 | 久久亚洲国产 | 九九热在线视频免费观看 | 欧美久久久网站 | 亚洲男人的天堂网站 | 一区二区三区在线播放 | 欧美精品久久久久久久久久 | 国产天天操 | 久久久网| 日韩字幕 | 欧美一区| 国产精品亚洲成在人线 |