網(wǎng)絡概念
- 客戶端
- 服務端
- 請求:
客戶端向服務器獲取數(shù)據(jù)的一種行 - 響應
- 服務器對客戶端對請求做出的反應捶索,一般指返回數(shù)據(jù)給客戶端
http協(xié)議
1.http協(xié)議與https概念:為服務端與客戶端答應
2.網(wǎng)站的URL會分為兩部分:通信協(xié)議和域名地址
3.HTTP是一種使用明文數(shù)據(jù)傳輸?shù)木W(wǎng)絡協(xié)議
4.HTTPS協(xié)議可以理解為HTTP協(xié)議的升級干旧,就是在HTTP的基礎上增加了數(shù)據(jù)加密随夸。
-
上述為GET方法的請求行
從上至下
- 客戶能處理的類型
- 優(yōu)先的壓縮方法
- 中文的語言
- 持久連接
- cookie 保存用戶信息,在開發(fā)中通常與session一起用
- 主機地址
狀態(tài)碼 狀態(tài)描述 解釋
200 OK 客戶端請求成功
204 No Content 請求成功,但沒數(shù)據(jù)可返回
206 Partial Content 對資源某一部分的請求
400 Bad Request 客戶端請求有語法錯誤闷畸,不能被服務器所理解
401 Unauthorized 需要http認證信息, 如已進行過一次請求, 則表示用戶認證失敗
403 Forbidden 接收到請求, 但不允許訪問那資源
404 Not Found 服務器上沒有請求的資源, url錯誤
500 Internal Server Error 服務器內(nèi)部資源發(fā)生錯誤
503 Serveice Unavailable 服務器暫時處于超負載
TCP/IP協(xié)議族:
- 應用層
- 傳輸層
- 網(wǎng)絡層
- 數(shù)據(jù)鏈路層
獲取DNS地址 ipconfig
手動DNS設置 以太網(wǎng) 114 114 114 114
8 8 8 8 8
GET方法無請求體标捺,一般作為不太重要內(nèi)容的請求方法。
# pip install requests
import requests
import re
# 1.確定url地址
url = 'https://www.doutula.com/photo/list/?page=2'
# 1.2 設置ua
ua = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}
# 2.請求
result = requests.get(url, headers=ua).content.decode()
# 查看支持的格式類型.
# result = requests.get(url, headers=ua).headers['content-type']
# 查看ua
# result = requests.get(url, headers=ua).request.headers
# print(result)
# 顯示狀態(tài)碼
# result = requests.get(url, headers=ua).status_code
#
# print(result)
# # 3.刪選數(shù)據(jù) .*? . 通配符號,只匹配一個 *后面的按照前面的方式去匹配. ? 是非貪婪符號
image_urls = re.findall('data-original="(.*?)"', result)
# print(image_urls)
for image_url in image_urls:
# print(image_url)
image_name = image_url.split('/')[-1]
print(image_name)
image = requests.get(image_url).content
#
# # 4.保存數(shù)據(jù)
with open('./image/%s' % image_name, 'wb') as file:
file.write(image)
POST方法比GET方法更安全蚓炬,有請求體,一般作為重要信息的請求方法
# 1.3 設置請求體 在頁面的FORM data中
data = {
'color': '16777215',
'fontsize': '25',
'mode': '1',
'msg': '666',
'rnd': '1590672609',
'roomid': '73356',
'bubble': '0',
'csrf_token': 'adf0c7e476e27e0d13c1ae8448611775',
'csrf': 'adf0c7e476e27e0d13c1ae8448611775'
}
API接口
api接口躺屁,一般把url就看成是接口肯夏,url里面要傳對應的字段,就是接口字段犀暑,拿手機短信驗證碼接口來說驯击,其中配置項要傳入初始化client,apikey作為所有請求的默認值,發(fā)送的信息及手機號耐亏。
接口和客戶端功能測試的關系
- 客戶端通過調用服務端提供的接口來獲取數(shù)據(jù)
- 客戶端功能測試過程中需要和接口交互的場景
1.客戶端測試過程發(fā)現(xiàn)bug, 需要排查是客戶端代碼問題還是服務端代碼問題
2.客服端借助接口調用生成一些放回數(shù)據(jù),輔助客戶端接口測試
3.跳過客戶端代碼的驗證限制直接訪問服務端
4.仿真弱網(wǎng)環(huán)境徊都,進行弱網(wǎng)測試