| 这篇教程Python实战之使用PyQt5构建HTTP接口测试工具写得很实用,希望能帮到您。 
 
 项目背景随着互联网的发展,各种 API(应用程序编程接口)的使用日益广泛。无论是在构建前端和后端应用,还是在进行数据分析和集成时,测试 API 的能力都是基础技能之一。我们将用 PyQt5 创建一个简单的工具,允许用户输入请求 URL 和请求头,并能够选择请求方式(GET 或 POST),以查看返回结果。 具体的效果可以看看这个视频给你们的一个练习 
 技术栈Python:作为主要编程语言。 PyQt5:用于创建图形用户界面。 Requests:用于发送 HTTP 请求。 
 用户界面我们将创建一个简单的用户界面,包含以下组件: URL 输入框请求方式下拉框(GET/POST)请求头设置表格(可以增加和删除行)发送请求的按钮显示信息的区域(包括请求和响应的详细信息)
 以下是 setupUi 方法的代码,负责构建用户界面: def setupUi(self, Form):    Form.setObjectName("Form")    Form.resize(900, 600)        self.verticalLayout = QtWidgets.QVBoxLayout(Form)        # 添加 ComboBox 选择请求方式    self.comboBox = QtWidgets.QComboBox(Form)    self.comboBox.addItem("GET")    self.comboBox.addItem("POST")        # 添加 LineEdit 输入 URL    self.lineEdit = QtWidgets.QLineEdit(Form)    self.lineEdit.setPlaceholderText("此处填写url")        # 按钮用于发送请求    self.pushButton = QtWidgets.QPushButton(Form)    self.pushButton.setText("发送")        # 请求头展示的表格    self.tableWidget = QtWidgets.QTableWidget(Form)    self.tableWidget.setColumnCount(2)    self.tableWidget.setHorizontalHeaderLabels(["名称", "值"])        # 信息框    self.listWidget = QtWidgets.QListWidget(Form)        # 组件布局    self.verticalLayout.addWidget(self.comboBox)    self.verticalLayout.addWidget(self.lineEdit)    self.verticalLayout.addWidget(self.pushButton)    self.verticalLayout.addWidget(self.tableWidget)    self.verticalLayout.addWidget(self.listWidget)
 核心功能实现用户点击“发送”按钮后,将会根据输入的 URL 和请求头发送请求。下列是处理请求的 send_clicked方法: def send_clicked(self):    input_url = self.ui.lineEdit.text()    send_made = self.ui.comboBox.currentText()        data_dict = {}        row_count = self.ui.tableWidget.rowCount()    for row in range(row_count):        key = self.ui.tableWidget.item(row, 0).text()        value = self.ui.tableWidget.item(row, 1).text()        data_dict[key] = value        try:        if send_made == 'GET':            rt = requests.get(url=input_url, headers=data_dict)        else:            rt = requests.post(url=input_url, headers=data_dict)    except Exception as e:        self.ui.listWidget.addItem('请求失败: ' + str(e))        returnPython自动检测requests所获得html文档的编码
 Python 正则表达式进阶用法之字符集与字符范围详解
 |