1

我有一个关于在 PyQt5 中发出 POST 请求的问题。不幸的是,这个 Python 框架的官方文档不存在。我必须将文档从 C++ 翻译成 Python。

我有处理它的问题。要发出 POST 请求,我必须创建类的实例QWebEngineHttpRequestdocs),然后添加 POST 数据setPostData(),这看起来很容易,但是该方法需要类型中的参数QByteArraydocs),这是一个问题,因为我没有知道如何将数据插入其中。

4

1 回答 1

3

我知道我迟到了,但我希望它可以帮助其他有同样问题的人。这是我的做法:

def postRequest(self):
    self.url = QUrl()
    self.req = QWebEngineHttpRequest()

    self.url.setScheme("http")
    self.url.setHost("stackoverflow")
    self.url.setPath("/something/somethingelse")

    self.req.setUrl(self.url)
    self.req.setMethod(QWebEngineHttpRequest.Post)
    self.req.setHeader(QByteArray(b'Content-Type'),QByteArray(b'application/json'))

    params = {"something": value, "test": True, "number": 5}

    self.req.setPostData(bytes(json.dumps(params), 'utf-8')) 
    
    return self.req
于 2020-10-16T16:14:57.230 回答