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

基礎篇Python發(fā)送Get請求之如何放請求頭、參數(shù)、獲取返回內容

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

 [[381530]]

目錄

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

一、Python 命名規(guī)范

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

二、發(fā)送 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.發(fā)送 get 請求

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

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

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

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

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

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

 

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

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 和請求參數(shù)都對,卻沒權限??赡茉颍悍掌髯R別到你是代碼請求的,防腳本機制。

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

圖片來自網(wǎng)絡

 

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

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

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

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

 

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

2020-10-09 08:29:24

POSTGET參數(shù)

2024-07-26 08:53:09

前端參數(shù)后端

2021-02-14 23:01:16

Python參數(shù)請求

2023-11-27 08:57:24

GoGET

2021-03-06 09:54:22

PythonHTTP請求頭

2015-08-06 13:33:22

PHPGETPOST

2015-10-27 11:06:51

PHPGETPOST

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應用

2025-02-06 08:09:20

POSTGET數(shù)據(jù)

2009-07-09 14:56:23

Servlet讀取

2019-12-23 11:02:12

HTTP請求頭網(wǎng)絡協(xié)議

2025-04-07 11:00:00

FastAPI路徑參數(shù)接口

2011-08-03 14:33:54

IOS4.2 HTTP 請求

2013-03-28 14:11:10

iOS異步GET方法請

2021-06-17 09:32:39

重復請求并發(fā)請求Java

2021-03-27 22:21:48

HTTPPython數(shù)據(jù)

2021-08-26 06:58:14

Http請求url
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 夜夜艹天天干 | 国产欧美一区二区三区在线看蜜臀 | 日本一道本视频 | 欧美精品片 | 亚州精品成人 | 中文字幕视频在线 | 亚洲一区二区三区四区五区午夜 | 日本成人一区二区 | 亚洲人人舔人人 | 羞羞午夜| 日韩在线精品视频 | 欧美一区二区三区国产精品 | 日韩视频在线一区 | 亚洲欧洲成人av每日更新 | 午夜性色a√在线视频观看9 | 91国内视频在线 | 中文字幕在线不卡 | 美女黄频 | 久久久91| 成人免费av在线 | 国产综合久久久久久鬼色 | 天天天操 | 97精品视频在线观看 | 国产精品福利在线 | av一级久久 | 国产一区二区在线播放 | 天天干视频网 | 91五月婷蜜桃综合 | 伊人网在线综合 | 国产在线永久免费 | 激情毛片 | 天堂视频中文在线 | 韩日精品在线观看 | 国产日韩精品一区二区 | 福利av在线 | av黄色在线观看 | 在线三级电影 | 7777久久 | 成人欧美一区二区三区黑人孕妇 | 久久久www成人免费精品张筱雨 | 婷婷五月色综合香五月 |