问题标签 [libsoup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
314 浏览

gnome - 如何通过 Gjs 将 Basic Auth 与 libsoup 一起使用

我正在尝试使用令牌查询 github 的 api。Github 的 api 接受生成的令牌,前提是它们作为基本身份验证标头发送。

如果在没有身份验证的情况下进行调用,API 不会返回 HTTP 401,这意味着如果想要使用基本身份验证查询他们的 api,则必须先发制人地填写标头,而不是进行往返。

我现在正在尝试使用 libsoup 和 Gjs 查询 API。

我注意到 SoupAuthManager 的功能似乎与我需要的完全匹配(此处为 soup_auth_manager_use_auth ),但找不到调用它的方法。

这可用于“预加载” manager 的身份验证缓存,以避免在您提前知道将返回 401 响应的情况下进行额外的 HTTP 往返

这是我目前使用的,但它不起作用,因为 SoupAuthManager 是会话的私有对象;因此对程序的实际行为没有影响

我可以使用其他方法在第一次旅行中强制进行基本身份验证吗?还是我可以从 gjs 使用其他库来调用 github 的 API 并强制进行基本身份验证?

0 投票
0 回答
434 浏览

c - 带有 libsoup 的二进制数据的 HTTP POST

我是 libcurl 的新手,但我想使用 libsoup 实现以下 curl 命令:

我怎样才能对 libsoup 做同样的事情?你能给我一些例子如何使用 libsoup 上传一个大的二进制文件吗?

0 投票
1 回答
434 浏览

compiler-errors - Vala 编译器无法从库 Libsoup 2.4 中找到 soup.h

当我编译我的程序时,我总是得到这个错误:

我正在使用的编译命令是:

我的操作系统是 MacOS Sierra 10.12,当我查看 Vala API 文件夹时,有一个 libsoup-2.4 文件:/opt/local/share/vala-0.36/vapi 而且我不知道这个问题是从哪里来的。我已经在谷歌上搜索但没有成功。请注意,代码只是 vala 的示例代码,来自:https ://wiki.gnome.org/Projects/Vala/LibSoupSample

0 投票
1 回答
82 浏览

amazon-web-services - libsoup 忽略负载平衡架构中的 DNS TTL AWS Elastic Load Balancer

根据此链接http://www.chaseventers.org/2010/09/libsoup-ignores-dns-ttls.html

libsoup 中的代码 /* 需要锁定 host_lock */

不幸的是,除非 SoupSession 对象本身消失,否则此哈希表中的条目永远不会被删除或过期。

这很糟糕有几个原因:

  1. DNS TTL 值被忽略。相反,DNS 查询的结果会被永久缓存。显然,这意味着如果记录发生更改,则需要重新启动 libsoup 客户端才能了解它。

  2. DNS 负载平衡被 libsoup 破坏,它会重复连接到同一个 IP 地址,而不管对 A 查询的响应中是否包含多个 IP。

所以看起来 libsoup 在负载平衡 aws 云环境中会表现得很糟糕。请确认。

0 投票
0 回答
486 浏览

windows - 在 Windows 下使用 libsoup & https

我成功地使用 libsoup 在 C++ 中使用 C 中的 https 请求 API。但是,当我在发布模式下构建时,我的请求将被拒绝,状态为 6:不可接受的 TLS 证书。

我试图获取更多信息,发现我的 SoupSession 的“tls-database”属性在发布模式下为 NULL,并且在调试模式下是有效指针。

我试图深入研究 glib 源以查找有关如何构建 GTlsDatabase 的可能信息,但无法找到特定的 Windows 实现来理解该问题......

我使用 Windows (10) 的 GStreamer 1.12.4 安装程序中包含的 glib/libsoup,即 libsoup 2.56.0。

有没有办法专门加载证书(也没有找到任何东西)或者是否有一个特定的环境变量只能在调试模式下使用?是否有我在报告的错误中没有发现的错误?

0 投票
1 回答
267 浏览

javascript - 使用 Gnomes libsoup 发送 json POST 请求的正确方法是什么

我无法使用 Gnome 的 libsoup 发送 POST 请求。GET 请求我可以做得很好我只是不确定如何获得一个工作的帖子请求。

这就是我现在所拥有的。我不知道如何添加帖子请求的正文。文档说 set_request 需要 4 个参数,但我收到一个错误,说如果我添加 body.length,它需要 3 个。

0 投票
1 回答
335 浏览

http - Vala 上的 Soup.Websocket

我为测试编写了一个客户端和服务器。客户:

和服务器:

启动服务器和客户端后,发生第一条消息的连接和交换,test_message1之后服务器关闭连接,不再接收消息。客户端尝试发送消息test_message2,然后使用代码和错误消息关闭连接:WS Error 44: Error receiving data: Connection reset by peer

0 投票
1 回答
181 浏览

vala - 你如何使用 Vala 通过 HTTP 下载文件?

我尝试将 libsoup-2.4 与https://valadoc.org/libsoup-2.4/Soup.RequestFile.html一起使用

但是 RequestFile 的创建受到保护,我看不到任何返回该对象或继承 RequestFile 的对象的操作。

以下工作,但我想知道是否有更短或更好的方法,无论是使用同一个库还是其他库。

0 投票
1 回答
223 浏览

asynchronous - 异步 Vala 示例

Michael Lauer博士的“Vala 简介”一书中,他提到 lib Soup 异步 api 已损坏。我正在努力使用来自radio-browsersession.queue_message的服务使用该查询广播电台编写一个简单的示例。这是我的代码。我将不胜感激来自像“Al Thomas”这样有经验的程序员的任何帮助。谢谢你。

0 投票
1 回答
134 浏览

c++ - 在 SoupSession 中更改 libsoup 身份验证

我有一个可用的libsoup客户端,它使用 HTTP POST 和基本身份验证发送数据。身份验证是libsoup通过回调处理的——当服务器需要身份验证时,通过回调libsoup向它发出信号——然后该函数将传递给SoupAuthsoup_auth_authenticate()类型的给定对象以及用户名和密码。

你可以用g++ -o sample sample.cpp -Wall -pedantic -g `pkg-config libsoup-2.4 --cflags --libs`. 当您需要对此进行测试时,请更改为您提供工作端点的example.orgflapflap.eu

当我想在后续呼叫中发送不同的用户名或密码时,我应该怎么做?该库将不再使用回调,因为身份验证已设置并正在工作。

我需要创建一个新的SoupSession吗?或者我可以访问当前SoupAuthsoup_auth_authenicate()直接调用吗?我想让客户快速工作。

谢谢您的帮助