1. 程式人生 > 程式設計 >python實現測試工具(一)——命令列傳送get請求

python實現測試工具(一)——命令列傳送get請求

本系列教程我們將使用python實現一些簡單的測試工具,為了儘可能的簡單,我們的工具以命令列工具為主。

本系列教程使用的python版本是3.6.3。

背景

這一節我們實現簡單的命令列傳送get請求的工具,使用方式如下:

python get.py www.v2ex.com/api/nodes/show.json\?name\=python
介面地址: http://www.v2ex.com/api/nodes/show.json?name=python

狀態碼: 200

Headers:
Date : Tue,10 Jul 2018 07:06:12 GMT
Content-Type : application/json;charset=UTF-8
Transfer-Encoding : chunked
Connection : keep-alive
Vary : Accept-Encoding
X-Rate-Limit-Remaining : 119
Expires : Tue,10 Jul 2018 08:03:49 GMT
Server : Galaxy/3.9.8.1
Etag : W/"76a33d25372411dc6fa4190a5cf9679caa0edc2a"
X-Rate-Limit-Reset : 1531209600
Cache-Control : max-age=3600
X-Rate-Limit-Limit : 120
Google : XY
Content-Encoding : gzip
Strict-Transport-Security : max-age=31536000
{
  "id" : 90,"name" : "python","url" : "https://www.v2ex.com/go/python","title" : "Python","title_alternative" : "Python","topics" : 9530,"stars" : 6601,"header" : "這裡討論各種 Python 語言程式設計話題,也包括 Django,Tornado 等框架的討論。這裡是一個能夠幫助你解決實際問題的地方。","footer" : null,"created" : 1278683336,"avatar_mini" : "//cdn.v2ex.com/navatar/8613/985e/90_mini.png?m=1531131631","avatar_normal" : "//cdn.v2ex.com/navatar/8613/985e/90_normal.png?m=1531131631","avatar_large" : "//cdn.v2ex.com/navatar/8613/985e/90_large.png?m=1531131631"
}

主要使用場景是快速訪問http的api介面,檢視狀態碼,響應頭以及響應內容。

程式碼實現

簡單起見,我們會用到requests庫。

import requests
from sys import argv

USAGE = '''
USAGE:
python get.py https://api.github.com
'''

if len(argv) != 2:
 print(USAGE)
 exit()

script_name,url = argv

if url[:4] != 'http':
 url = 'http://' + url

r = requests.get(url)

print(f"介面地址: {url}\n")
print(f"狀態碼: {r.status_code}\n")
print(f"Headers:")
for key,value in r.headers.items():
 print(f"{key} : {value}")

print(r.text)

動手時間

  • 抄一遍程式碼,看自己能不能執行起來
  • 給這段程式碼每一行都加上註釋,理解程式碼做了些什麼
  • 如果需要在傳送get請求的時候預設加上Content-Type: application/json的headers,這段程式碼該如何修改

原始碼地址

https://github.com/easonhan007/simple_test_tools

以上就是python實現測試工具(一)——命令列傳送get請求的詳細內容,更多關於python 命令列傳送get請求的資料請關注我們其它相關文章!