基本信息
源码名称:基于 Pyside6 开发的轻量级 HTTP工具
源码大小:0.02M
文件格式:.zip
开发语言:Python
更新时间:2025-06-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

基于 Pyside6 开发的轻量级 HTTP工具,同时支持带注释的 json,简单方便。

适用于内网调试的场景,也适合初学者学习

def sendRequest(self):
        method = self.ui.boxMethod.currentText()
        url    = self.ui.editUrl.text()
        payload = self.ui.editBody.toPlainText()

        # 获取消息头
        headers = {}
        ht = self.ui.headersTable
        isJson = False
        for row in range(ht.rowCount()):
            k = ht.item(row,0).text()
            v = ht.item(row,1).text()
            if k.strip() == '':
                continue
            headers[k] = v
            if("json" in v):
                isJson = True

        if(isJson):
            payload = self.removeJsonComment(payload)

        # self.ui.outputWindow.append('发送 http {}请求:{}'.format(method,url))
        req = requests.Request(method, url, headers=headers, data=payload.encode('utf-8'))

        prepared = req.prepare()

        self.pretty_print_request(prepared)
        s = requests.Session()

        try:
            r = s.send(prepared)
            self.pretty_print_response(r)
        except:
            self.ui.outputWindow.append(traceback.format_exc())


    def pretty_print_request(self,req):

        if req.body == None:
            msgBody = ''
        else:
            msgBody = req.body
        self.ui.outputWindow.append(
            '{}\n{}\n{}\n\n{}'.format(
            '\n\n----------- 发送请求 -----------',
            req.method   ' '   req.url,
            '\n'.join('{}: {}'.format(k, v) for k, v in req.headers.items()),msgBody
        ))

    def pretty_print_response(self,res):
        # loggerHandler.info(res)
        self.ui.outputWindow.append(
            '{}\nHTTP/1.1 {}\n{}\n\n{}'.format(
            '\n\n----------- 得到响应 -----------',
            res.status_code,
            '\n'.join('{}: {}'.format(k, v) for k, v in res.headers.items()),
            res.text,
        ))