gpt4 book ai didi

c++ - 使用 C++ 从 HTTPS 请求 JSON 数据?

转载 作者:行者123 更新时间:2023-11-30 01:47:34 26 4
gpt4 key购买 nike

我正在用 C++ 编写一个程序,需要从 HTTPS URL 下载 JSON 数据。该程序基于 wxWidgets。该 URL 用于 Glosbe 的翻译服务

所以我尝试了多个不同的库,包括:

  • libcurl
  • Boost.Asio
  • wxWidgets 中包含的 http 功能
  • wxCurl
  • 网址

但是,它总是抛出一个错误,说它无法连接,或者我收到一个说“永久移动”的回复。

当我将用于测试它的 URL 复制并粘贴到浏览器中时,它会完美地返回 JSON 数据。

有谁知道正确的做法吗?

任何帮助都会很棒!

最佳答案

301 Moved Permanently 是当您尝试使用 HTTP 而不是 HTTPS 访问页面时服务器的响应。这是我刚刚从服务器收到的完整响应:

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 16 Jul 2015 20:25:01 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Location: https://en.glosbe.com/a-api

这意味着:“您要查找的内容确实位于 https://en.glosbe.com/a-api 。”您的浏览器只需按照服务器的提示遵守 HTTP 协议(protocol)并在您尝试访问 http://en.glosbe.com/a-api 时自动继续请求 https://en.glosbe.com/a-api .作为用户,它可以无缝地为您服务。

您必须阅读更多文档才能自己创建 HTTPS 请求。您提到的每个库都将以不同的方式支持 HTTPS(或根本不支持)。例如,看看 http://www.boost.org/doc/libs/1_58_0/doc/html/boost_asio/overview/ssl.html ,尤其是“注释”部分,它说 “需要 OpenSSL 才能使用 Boost.Asio 的 SSL 支持。”

关于c++ - 使用 C++ 从 HTTPS 请求 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com