【问题标题】:How would I create a HTTPS request in vala?如何在 vala 中创建 HTTPS 请求?
【发布时间】:2015-01-12 17:44:48
【问题描述】:

我正在尝试在 vala 中创建一个 github 问题应用程序,需要从 https://api.github.com/repos/vmg/redcarpet/issues?state=closed 获取问题列表。

我已尝试在我的代码中使用此示例,但这不适用于 SSL。 https://wiki.gnome.org/Projects/Vala/GIONetworkingSample

我也试过汤,但这似乎有一个问题,它找不到它的开发头。

任何帮助将不胜感激。

【问题讨论】:

  • Soup 绝对是进行 HTTP 的正确方法。在 debian 上,您需要 libsoup2.4-devgir1.2-soup-2.4 包。

标签: vala


【解决方案1】:

您必须在 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 是一种甜美的语言。

【讨论】:

  • 谢谢大家,听了你们的建议,我坚持喝汤,最后还是成功了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多