程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python requests的基本用法

編輯:Python

大家都知道了接口測試,那麼都有什麼測試方法呢,咱們有常用的工具postman,jmeter等。這些都提供了很強大的功能,但還有基於代碼的測試,那就是python requests,如果您有基本的編程能力,您可以考慮一下這個,優點在於可以自動化,維護成本更低。那麼本篇也是給大家介紹一下基本的使用方法。

那麼既然是接口測試,那麼就需要有接口,這個接口可以是公共的api,比如百度翻譯接口,微信公眾號接口,微信登錄接口,支付寶付款接口等,當然還可以是一個自己搭好的網站,那麼本次咱們就以我自己寫的一個最簡單的作為咱們的測試接口,具體還是講python requests的用法,怎麼怎麼寫接口呢,咱們就用python中的flask框架寫一個很簡單的代碼,在寫之前需要安裝一個flask模塊,具體直接pip install flask就可以了。那麼具體寫出來是什麼效果呢,咱們來看代碼

from flask import Flask,request
app = Flask(__name__) # ,template_folder=
app.debug = True # 自動重啟
# 路由函數,改變函數執行的函數,理解為輸入地址執行對應地址的函數
@app.route("/", methods=['GET', 'POST']) # method加上其他方法,否則只有get
def go():
if request.method=="GET":
return {"code": "success"}
elif request.method=="POST":
# 獲取post傳過來的值,然後作比較
if request.form.get("user")=="xiaoli" and request.form.get("pwd")=="123456":
return {"code": "success"}
else:
return {"code": "ERROR"}
# 啟動服務器
if __name__ == '__main__':
app.run()

如果大家不懂,可以看看flask框架的一些知識,這裡不再過多講解,也可以將上面的代碼復制,直接運行就可以了,就可以把本機當做一個服務器了,url是http://127.0.0.1:5000/。咱們寫完了服務端,咱們開始寫python requests的具體代碼了,如下

# 需要導入requests模塊
import requests
# 簡單的get請求,用get方法
res = requests.get("http://127.0.0.1:5000/")
# print(res.text)
# 獲取響應額結果
print(res.content.decode("utf-8"))

運行結果如下圖所示

以上就是運行了簡單的get請求,返回的數據說明成功了,接口沒有問題,下面執行一下post請求代碼如下

import requests
url = "http://127.0.0.1:5000/"
data = {"user": "xiaoli",
"pwd":"123456" }
# 簡單的get請求
# res = requests.get("http://127.0.0.1:5000/")
# print(res.text)
# 執行post請求,參數是url和body數據,如果有頭部參數特殊填寫則後面加上headers=“”
res = requests.post(url=url, data=data)
print(res.content.decode("utf-8"))

下面的結果就是post成功的結果,用戶名密碼一致。

上面咱們傳的數據是正確的,咱們傳一下錯誤的,看代碼如何反應,把數據user改成xiaoli12,看看怎麼反應

import requests
url = "http://127.0.0.1:5000/"
# user改成xiaoli123
data = {"user": "xiaoli123",
"pwd":"123456" }
# 簡單的get請求
# res = requests.get("http://127.0.0.1:5000/")
# print(res.text)
res = requests.post(url=url, data=data)
print(res.content.decode("utf-8"))

結果如下所示

這個也是與預期結果一樣,沒有問題,保持用戶唯一性,

以上就是咱們requests的基礎用法,後續會繼續更新高級的用法,比如自動化等,好了文章就到這裡啦


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved