问题标签 [reqwest]

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 回答
53 浏览

rust - Rust 遇到了一个返回数组数组的 API

我是 rust 新手,正在开发与 Binance API 交互的工具。API 返回如下响应:

Bids 和 Asks 是一组数组。我必须struct为 API 响应声明。

我目前有

我相信我正在声明出价类型并错误地询问,但我无法确定如何声明数组数组。我得到一个 200 的 response.status,但我无法打印出response.json.

谢谢你!

0 投票
1 回答
288 浏览

rust - 使用 reqwest crate 进行 oauth2 身份验证 - redirect_uri_mismatch

我正在使用 reqwest 使用 google oauth 对用户进行身份验证。我已正确设置凭据(client_id、secret、redirect_uris),但我仍然无法交换从谷歌获得的代码以获取令牌。

它总是返回redirect_uri_mismatch。用于在身份验证期间检索代码的 redirect_uri 有效,但用于检索访问和刷新令牌的 redirect_uri 不起作用。我在 php 中有一个类似的 webapp,使用相同的重定向 uri,它可以工作。我就是不能让它生锈。

我在从https://accounts.google.com/o/oauth2/v2/auth端点获取授权代码时使用不同的redirect_uri,在发布到https://oauth2.googleapis.com/token获取访问和刷新令牌时使用另一个redirect_uri。

0 投票
1 回答
115 浏览

rust - 如何在 Rocket 中返回从外部 API 查询的对象数组

我是 Rust 的新手,想用一些简单的东西来测试它。该代码基本上是查询外部 API 并返回响应。在这种情况下,响应是一个对象数组。

错误来自我试图返回的内容Result<Vec<InboundAddress>, reqwest::Error>,说“该特征rocket::response::Responder<'_>未实现std::result::Result<std::vec::Vec<InboundAddress>, reqwest::Error>

json 解析正确,从某些地址注销详细信息有效。如何返回从 Rocket 中的外部 API 查询的对象数组?

0 投票
1 回答
649 浏览

http - 如何在没有等待的情况下发送请求?

我正在使用 reqwest,并尝试每 97 毫秒发送一次请求。但是,我不想等待最后一个请求发生或被读取。

我只想请求每 97 毫秒发送一次,并始终将输出发送到标准输出。

我的(当前)代码是这样的:(keys是一个带有 api 键的数组)

如果我删除 awaits,编译器会告诉我error[E0599]: no method named `text` found for opaque type `impl std::future::Future` in the current scope.

TL;DR:我想每 97 毫秒发送一次获取请求,而不管任何响应。如果/当有一个响应管道响应标准输出。

编辑:

我尝试使用线程,但我真的不知道如何使用。这是我想出的:

尝试运行时出现此错误:

0 投票
1 回答
213 浏览

rust - 从 Rust 中的 bytes::Bytes 获取 C FILE 指针

我想使用 Rust 中的ecCodes库读取从服务器下载的GRIB文件。但是,我当前的解决方案会导致分段错误。复制问题的提取示例如下。

我使用reqwestcrateBytes下载文件并使用bytes(). 要使用 ecCodes 读取文件,我需要创建一个codes_handleusing 2,它作为参数 通常需要从. 但是,我想跳过 IO 操作。所以我想我可以用来从. 但是当我将from传递给分段错误时。codes_grib_handle_new_from_file()*FILEfopen()libc::fmemopen()*FILEBytes*mut FILEfmemopen()codes_grib_handle_new_from_file()

Bytes我怀疑问题出在我从*mut c_void所需的fmemopen(). 我想我可以这样做:

因为*mut是必需的,所以我创建BytesMut了它,然后我可以从中获取 mut 指针。我认为这些转换是有问题的,因为在调试器中 infoptr包含的内存地址ptrfile.

对同一文件使用*FILEgot fromlibc::fopen()不会导致段错误。所以问题出在附近fmemopen()

ecCodes 库已正确构建(通过所有测试并在 C 中工作)和链接(调用堆栈中的调用是正确的)。

完整提取的示例:

而且因为该示例可能需要相当大的努力来设置,所以我还附加了来自 GDB 的 seg 错误的调用堆栈:


1来自bytescrate,而不是函数返回的std::io
2 grib_handle只是一个别名codes_handle

0 投票
0 回答
28 浏览

rust - reqwest::blocking 没有找到名为“text”的方法

我正在尝试使用该reqwest::blocking示例,但遇到错误。

首先,

使用以下代码时:

从代码中删除?s 后:

我在 cargo.toml 中启用了阻塞功能:

我能够找到与我的问题非常相似的问题,但是它现在已关闭并锁定。如果有任何我没有提及的相关细节,请告诉我。

0 投票
1 回答
137 浏览

twitter - rust - 为什么我使用 twitter api 收到无效请求错误

所以在twitter api 文档中,它说要生成一个承载令牌,你运行这个命令

我运行它,我得到的结果是https://api.twitter.com/ouath2/token的 HTML

然后我写了一些生锈的代码,

执行上面的 rust 代码后,打印出来的是这样的,

但是,从文档来看,预期的结果是:

有谁知道为什么?这是我的 cargo.toml 文件

顺便说一句,我在几个小时前申请了 twitter 开发人员访问权限,但我不确定如何检查我是否有访问权限。我的意思是,我可以创建一个项目、一个应用程序并访问仪表板。

0 投票
1 回答
422 浏览

rust - 如何生成 Rust Result 的错误导致>?

我正在尝试生成函数Result返回的a reqwest::blocking::get。它返回 aResult<reqwest::blocking::Response, reqwest::Error>但调用它的函数返回 a Result<reqwest::blocking::Response, Box<dyn std::error::Error>

  • 为什么我的第一次尝试编译失败?
  • 进行这种转换的最惯用的方法是什么?

这是第一次尝试:

它有以下错误,我不知道如何修复,但觉得通过一些小的调整可能会更习惯 - 但我不确定要调整什么:

这种尝试编译但似乎很冗长:

0 投票
1 回答
306 浏览

rust - 克隆请求响应

我目前正在尝试使用 actix-web 和 reqwest 测试 API 端点。

我可以插入一些记录(使用 sqlx),然后发出请求并检查它是否返回了 200 HTTP 状态,并证实返回的数据属于创建的用户 - 端点返回了预期的内容。但是,这样做是“订单依赖”,否则我会收到以下错误:

移动值response
借用:移动 rustc(E0382) 后在此处借用的值

这就是给出错误的原因:

如果我交换断言的顺序 on response.status()assert_eq!它就可以工作。但我认为这不是最好的方式,正如应该明确说明的那样,有评论或进一步了解这以这种特定方式工作。

如果我无法克隆 reqwest 响应,是否可以避免依赖断言的顺序?或者我怎么能克隆它?

0 投票
2 回答
497 浏览

rust - 使用 reqwest 在 rust 中动态接收 json 数据

我一直在尝试使用 reqwest 和 serde 接收 json 数据,但我不断收到错误消息:

到目前为止,这是我的代码: