问题标签 [guzzle6]

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 投票
0 回答
5643 浏览

php - Guzzle HTTP 6.1 中的不记名令牌不起作用

我在 Guzzle-HTTP 中的承载授权存在问题。我用它用 PHPUnit 测试我的 PHP-REST-API。

这是我的测试方法:

但是,如果我将令牌设置为硬编码,如下所示:

并且还与邮递员一起工作。这与我从 REST-API 收到的令牌相同。

你有什么想法吗?

0 投票
2 回答
4105 浏览

php - Guzzle 6 - 承诺 - 捕捉异常

我真的不明白如何在 onReject 处理程序中捕获异常(转发它)。我想知道是否有人可以为我指出如何成功做到这一点的正确方向。

我正在发送一些异步请求,当一个请求失败并显示“遇到未捕获的异常 - 类型:GuzzleHttp\Exception\ClientException”时,它永远不会被捕获。

我读过了:

但目前尚不清楚为什么以下不起作用。我的理解是,当在 onReject (RequestException) 中抛出 ClientException 时,它将进一步向下推到下一个 onReject (ClientException) 并被正确捕获。

任何帮助,将不胜感激。

0 投票
2 回答
5906 浏览

php - GuzzleHTTP 编码问题

我试图使用 GuzzleHTTP 6 进行网络抓取,到目前为止,我无法在响应正文中找到混乱编码的解决方案。

假设我想解析网页,它以多种不同的语言返回数据。

客户端初始化

使用数据客户端

问题:

  1. 如果文本是英文,响应看起来几乎没问题,除了一些字符被弄乱了

    操纵,有

代替

  1. 如果我试图获取任何其他语言的数据,那就是我得到的(俄语数据)

    ↓;↓;°; Ð;¿;Ð;µ;Ñ;€Ð;²;Ñ;‹Ð;¹; Ð;²;Ð

代替

问题是,如果您查看网站,一切都很好,但如果您尝试抓取它,您将面临这些问题。到目前为止,我无法找到问题的根源,utf8_decode 或 iconv 都无法帮助我解决问题。
任何解决方案都非常受欢迎!

所以,这里有一个小更新 这是解析函数:

原始响应标头

0 投票
1 回答
557 浏览

php - 测试 Guzzle 6 下载进度

我在测试期间无法触发“进度”回调。

这是要测试的代码:

我能够模拟响应并保存文件,但它永远不会触发“进度”。注意:我使用的响应选项与我从实时服务器获得的响应选项相同。

我正在考虑仅测试模拟文件的下载,然后downloadProgress如果这是我唯一的选择,则单独测试该方法。

0 投票
0 回答
542 浏览

laravel - 无法使用 guzzle 上传文件并发送到 laravel API

我有两个 laravel 项目,一个用于 API,一个用于前端。我想要实现的是在我的前端发送上传的文件并使用 guzzlehttp6 将其发送到我的 API。这是我的代码。

前端 Laravel:

返回 $videos 时,我会获取文件的路径。

这是我的 API

我得到的是:

正如我的 VideoRequest 中定义的那样。

谁可以帮我这个事。

0 投票
2 回答
62953 浏览

php - 带有基本身份验证和不记名令牌的 PHP Guzzle

我正在尝试与 infojobs-api 建立联系,文档说明了如何以这种方式进行连接:

GET /api/1/application HTTP/1.1
主机:api.infojobs.net 授权:基本 QWxhZGRpbjpvcGVuIHNlc2FtZQ==,Bearer 07d18fac-77ea-461f-9bfe-a5e9d98deb3d

https://developer.infojobs.net/documentation/user-oauth2/index.xhtml

这是我的代码:

API/Guzlle 给了我这个错误:

致命错误:未捕获的 GuzzleHttp\Exception\ClientException:客户端错误:GET https://api.infojobs.net/api/1/curriculum导致401 No Autorizado响应:{"error":"102","error_description":"Client credentials not valid","timestamp":"2016-06-25T14:08 /app/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:107 中的:54.774Z"}

所以我做错了什么,但我没有找到问题所在。

任何想法,谢谢。

奥斯卡

0 投票
0 回答
456 浏览

php - 将 cURL 请求转换为 Guzzle 6

我正在尝试将一些 Google Analytics 事件跟踪代码从 cURL 请求转换为 Guzzlehttp 6。Guzzle 请求返回 200,但未跟踪该事件。使用 cURL 跟踪相同的请求。有任何想法吗?

工作卷曲:

GuzzleHttp:

0 投票
3 回答
64241 浏览

php - Upload file using Guzzle 6 to API endpoint

I am able to upload a file to an API endpoint using Postman.

I am trying to translate that into uploading a file from a form, uploading it using Laravel and posting to the endpoint using Guzzle 6.

Screenshot of how it looks in Postman (I purposely left out the POST URL) enter image description here

Below is the text it generates when you click the "Generate Code" link in POSTMAN:

Below is controller function for saving the file and other info. The file uploads correctly, I am able to get the file info.

I think the problem I am having is setting the multipart and headers array with the correct data.

The error I am receiving, screenshot of how it displays using Laravel's debugging view:

enter image description here

0 投票
1 回答
932 浏览

php - 在 Guzzle 6 中识别哪个承诺失败并动态更改承诺队列

我需要下载大量存储在多个相同服务器上的大文件。存储在服务器 3 上的文件(如“5.doc”)也存储在服务器 55 上。

为了加快速度,我不是只使用一台服务器一个接一个地下载所有文件,而是同时使用所有服务器。问题是其中一台服务器可能比其他服务器慢得多,甚至可能停机。使用 Guzzle 批量下载文件时,必须先下载该批次中的所有文件,然后再开始另一批次。

有没有办法立即开始与其他文件一起下载另一个文件,以便所有服务器都在不断下载文件?

如果服务器关闭,我设置了 300 秒的超时时间,当达到此时间时,Guzzle 将捕获它的 ConnectionException。

如何确定哪些承诺(下载)失败,以便我可以取消它们?我可以获得有关哪个文件/服务器失败的信息吗?

下面是我用来说明这一点的代码的简化示例。谢谢您的帮助!

0 投票
0 回答
432 浏览

php - Guzzle 6:两条腿的 OAuth1 授权

我正在使用 Guzzle 6 和OAuth 订阅者进行机器对机器的通信,与具有基本 uri https://foo.bar的 API 接口,供应商提供以下参数说明:

OAuth Bible之后,将暗示需要两条腿的 OAuth,因为我希望绕过手动授权重定向,但我不确定如何/在哪里设置客户端级别的请求令牌 URL 和访问令牌 URL。

我设置了一个简单的客户端,只使用消费者密钥和秘密,但这只允许部分 API 访问

我不知道现在如何推进:

似乎下一篇文章需要设置令牌和令牌_secret,要求我在下一次调用之前修改中间件参数,这似乎不起作用和/或手动推送到处理程序堆栈。

请帮助,在此先感谢