问题标签 [guzzle]

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

php - 为什么无法访问 POST 值?

我正在使用Guzzle向我正在开发的 Web 服务发出 HTTP POST 请求。

我为此操作使用服务描述 JSON 文件,如下所示:

完成这项工作的代码分为 2 个类(它们不长,我保证):

东西API

我的订阅者

使用上述类的代码是:

好的,现在的问题是,因为我在方法中做了一个var_dump字段POST,我onRequestSuccess希望看到我在上面设置的值。1"989054MNBNMO5490BMN54"

相反,我得到了这个:

我真的需要在onRequestSuccess方法中访问请求中使用的 POST 信息。为什么不存在?还是我试图以错误的方式得到它?

先感谢您。

PS:我使用的 Guzzle 版本是3.8.1

0 投票
4 回答
22703 浏览

php - 没有得到 Guzzle 的预期响应

我正在尝试构建一个端点,将传递给它的数据转发到使用 Slim PHP 框架的 API,但我无法从 Guzzle 请求中获取响应。

然后这给了我...

...而不是我期待的“酷”的回应。

如果我只是 var_dump$client->sendRequest( $request )我得到 200 OK,并且 url 是我所期望的,http://localhost:8000/test?access_token=foo.

我有另一个请求,但只使用$client->post(...)它并且它工作正常而没有给我流的东西。

我尝试使用底部的示例(http://guzzle.readthedocs.org/en/latest/http-client/response.html)读取流,但它告诉我feof不存在。

有人知道我在这里遗漏了什么或做错了什么吗?

0 投票
0 回答
1208 浏览

php - 使用 Guzzle 将对象传递给 body

我正在使用 Guzzle 执行一些对 REST API 的调用,我发现它非常方便。

我想传递一个对象,该对象通常通过 cURL 使用 -d 标志发送,但目前没有预期的结果。

从文档:

首要问题:

而凭据是正确的。

第二题:

这里可能是什么问题?我也尝试过使用:

但 getBody() 不会返回有意义的东西。

有什么想法吗?

更新:

当我提供这个时:

输出是:

因此,当我删除 post() 方法中的第二个参数时,没有 401 但无效参数。$skeletonTest 是一个空类 (stdClass) 的对象。

0 投票
4 回答
72007 浏览

php - 将查询字符串参数添加到 Guzzle GET 请求?

我读了这个答案,但我相信有一种更好的方法可以在 Guzzle 中创建一个 http url 查询,我正在寻找类似的东西,但无法让它正常工作,我也不知道是否有办法转储 url字符串以查看它是否正确处理。有人可以告诉我正确的方法吗?

不工作

0 投票
1 回答
2518 浏览

php - 捕获异常时使用 Guzzle 的 isSuccessful 方法

我最近使用 Guzzle 来抓取一个 URL,并且在没有错误的情况下可以正常工作。

但是,如果有例如 404,让我们说

手册(响应状态行)建议上面的代码将允许我打电话

但是当接收请求出错时send()抛出一个。ClientErrorResponseException抛出的异常如下

因此,捕获该异常显然可以防止我的应用程序停止,但这意味着我没有可以调用各种isX方法的响应对象。

isSuccessful清楚地捕捉到异常在某种程度上给了我相同的答案,但上述手册页上的其他一些方法也很有用。

我究竟做错了什么?

0 投票
2 回答
2566 浏览

php - 使用 Guzzle PHP 使用 s3 文件进行多部分/表单数据上传

我正在尝试获取托管在 Amazon S3 上的文件并使用 Content-Type: multipart/form-data 发布请求将其上传到另一台服务器。我可以使用Curl --form它,但我不确定如何让 S3 文件表现得像本地文件,以便我可以做这样的事情。

curl -F "file=@localfile;filename=nameinpost" url.com

我已经设置了 guzzle,这样我就可以像这样使用流包装器

$this->guzzleClient->registerStreamWrapper(); $data = file_get_contents('s3://buck/test-file.jpg');

如果我能让这个流工作会很棒,还是只能使用本地文件?做这种事情的最优化方法是什么?

0 投票
2 回答
5883 浏览

php - 使用 Guzzle HTTP 客户端时如何禁用代理?

我正在尝试使用 Guzzle 库在客户端服务器上调用 Web 服务 - 但服务器有一个代理,所以我的代码中出现 404 错误。

如果我 ssh 进入客户端服务器并尝试

我收到一个错误

但是如果我使用

我得到一个结果

我可以在 Guzzle 文档中看到设置代理的选项 - http://guzzle.readthedocs.org/en/latest/http-client/client.html#proxy

但是如何完全禁用代理呢?或者这将是一个服务器设置?

编辑:

结果 :

0 投票
1 回答
427 浏览

php - 如何使用 Guzzle 保留错误响应主体

我正在使用 Guzzle 从 API 消费。当该 API 中发生错误时,响应看起来像这样。

我希望该正文响应(json 编码)成为 Guzzle 处理的异常中的消息。

有没有办法允许这样做?

0 投票
1 回答
1887 浏览

php - AWS SDK for PHP 的 S3 流包装器适用于写入,但不适用于读取

为了方便起见,我决定使用 AWS SDK 的包装器,这样我就可以从我的 S3 存储桶中流式传输数据,但情况如下:

使用此代码写入我的存储桶有效

该文件在此操作后存在,所以一切正常,但之后我无法读取它,因为fopen('s3://mybucket/test.txt', 'r')失败并显示以下警告:

...这个错误:

因此,我可以捕获该异常或改用该异常,getObject但我仍然无法读取文件流,这违背了目的。也许这不是一件大事,但我对 Guzzle 和 AWS SDK 的内部工作原理并不熟悉。

任何关于我在这里做错的帮助或指南将不胜感激,我在谷歌上搜索了一段时间,但我找不到有用的信息来解决它,所以这一切很可能都是由于我的无能而发生的.

提前致谢。

干杯。

0 投票
1 回答
1092 浏览

json - Guzzle:使用 PUT 方法发送 JSON

我想更新一个组,所以我使用 put 方法发送 json pe {"admin":1,"user":0}。

我试图将它添加到 url 但没有运气。我似乎无法在后端抓住它。请记住,我在后面使用 Laravel。提前谢谢各位。