Python 如何使用libSoup和GI发出httpget请求?

Python 如何使用libSoup和GI发出httpget请求?,python,http,get,glib,gobject-introspection,Python,Http,Get,Glib,Gobject Introspection,我想向https://httpbin.org/get使用libSoup GLib库,在python中使用GObject内省(gi) 如何做到这一点?下面是一个发出请求并打印响应的示例: import sys import gi gi.require_version('Soup', '2.4') from gi.repository import Gio, Soup session = Soup.Session() uri = Soup.URI.new('https://httpbin.org

我想向
https://httpbin.org/get
使用libSoup GLib库,在python中使用GObject内省(gi)


如何做到这一点?

下面是一个发出请求并打印响应的示例:

import sys

import gi
gi.require_version('Soup', '2.4')
from gi.repository import Gio, Soup

session = Soup.Session()
uri = Soup.URI.new('https://httpbin.org/get')
request = session.request_http_uri('GET', uri)
stream = request.send(cancellable=None)
out = Gio.UnixOutputStream(fd=sys.stdout.fileno())
out.splice(stream, Gio.OutputStreamSpliceFlags.CLOSE_SOURCE, cancellable=None)

下面是一个发出请求并打印响应的示例:

import sys

import gi
gi.require_version('Soup', '2.4')
from gi.repository import Gio, Soup

session = Soup.Session()
uri = Soup.URI.new('https://httpbin.org/get')
request = session.request_http_uri('GET', uri)
stream = request.send(cancellable=None)
out = Gio.UnixOutputStream(fd=sys.stdout.fileno())
out.splice(stream, Gio.OutputStreamSpliceFlags.CLOSE_SOURCE, cancellable=None)

这是一个部分异步的版本,可以对其进行改进(特别是在将结果放入python变量时)


这是一个部分异步的版本,可以对其进行改进(特别是在将结果放入python变量时)


如何将响应复制到python变量中,而不是打印到标准输出?不管我怎么做,内容总是空的。如何将响应复制到python变量中,而不是打印到标准输出?无论我尝试什么,内容总是空的。