我将如何在 vala 中创建 HTTPS 请求?
How would I create a HTTPS request in vala?
我正在尝试在 vala 中创建一个 github 问题应用程序,并且需要从 https://api.github.com/repos/vmg/redcarpet/issues?state=closed 获取问题列表。
我已尝试在我的代码中使用此示例,但这不适用于 SSL。
https://wiki.gnome.org/Projects/Vala/GIONetworkingSample
我也试过 soup 但这似乎有一个问题,它找不到它的开发者 headers。
如有任何帮助,我们将不胜感激。
您必须在 SocketClient 对象上将 tls 属性 设置为 true,并且
您必须连接到正确的端口 (443)。这对我有用:
var client = new SocketClient() { tls = true };
// Or do this (does the same):
// var client = new SocketClient();
// client.tls = true;
var socket = client.connect_to_host (hostname, 443);
如果您要连接的服务器使用的是自签名证书,
您还必须更改 TLS 验证标志:
client.set_tls_validation_flags (...);
但正如另一位评论者指出的那样,使用 Soup 可能更容易。
祝你好运。瓦拉是一种甜美的语言。
我正在尝试在 vala 中创建一个 github 问题应用程序,并且需要从 https://api.github.com/repos/vmg/redcarpet/issues?state=closed 获取问题列表。
我已尝试在我的代码中使用此示例,但这不适用于 SSL。 https://wiki.gnome.org/Projects/Vala/GIONetworkingSample
我也试过 soup 但这似乎有一个问题,它找不到它的开发者 headers。
如有任何帮助,我们将不胜感激。
您必须在 SocketClient 对象上将 tls 属性 设置为 true,并且 您必须连接到正确的端口 (443)。这对我有用:
var client = new SocketClient() { tls = true };
// Or do this (does the same):
// var client = new SocketClient();
// client.tls = true;
var socket = client.connect_to_host (hostname, 443);
如果您要连接的服务器使用的是自签名证书, 您还必须更改 TLS 验证标志: client.set_tls_validation_flags (...);
但正如另一位评论者指出的那样,使用 Soup 可能更容易。
祝你好运。瓦拉是一种甜美的语言。