问题标签 [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.
php - 为什么无法访问 POST 值?
我正在使用Guzzle向我正在开发的 Web 服务发出 HTTP POST 请求。
我为此操作使用服务描述 JSON 文件,如下所示:
完成这项工作的代码分为 2 个类(它们不长,我保证):
东西API
我的订阅者
使用上述类的代码是:
好的,现在的问题是,因为我在方法中做了一个var_dump
字段POST
,我onRequestSuccess
希望看到我在上面设置的值。1
"989054MNBNMO5490BMN54"
相反,我得到了这个:
我真的需要在onRequestSuccess
方法中访问请求中使用的 POST 信息。为什么不存在?还是我试图以错误的方式得到它?
先感谢您。
PS:我使用的 Guzzle 版本是3.8.1。
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
不存在。
有人知道我在这里遗漏了什么或做错了什么吗?
php - 使用 Guzzle 将对象传递给 body
我正在使用 Guzzle 执行一些对 REST API 的调用,我发现它非常方便。
我想传递一个对象,该对象通常通过 cURL 使用 -d 标志发送,但目前没有预期的结果。
从文档:
首要问题:
而凭据是正确的。
第二题:
这里可能是什么问题?我也尝试过使用:
但 getBody() 不会返回有意义的东西。
有什么想法吗?
更新:
当我提供这个时:
输出是:
因此,当我删除 post() 方法中的第二个参数时,没有 401 但无效参数。$skeletonTest 是一个空类 (stdClass) 的对象。
php - 将查询字符串参数添加到 Guzzle GET 请求?
我读了这个答案,但我相信有一种更好的方法可以在 Guzzle 中创建一个 http url 查询,我正在寻找类似的东西,但无法让它正常工作,我也不知道是否有办法转储 url字符串以查看它是否正确处理。有人可以告诉我正确的方法吗?
不工作
php - 捕获异常时使用 Guzzle 的 isSuccessful 方法
我最近使用 Guzzle 来抓取一个 URL,并且在没有错误的情况下可以正常工作。
但是,如果有例如 404,让我们说
手册(响应状态行)建议上面的代码将允许我打电话
但是当接收请求出错时send()
抛出一个。ClientErrorResponseException
抛出的异常如下
因此,捕获该异常显然可以防止我的应用程序停止,但这意味着我没有可以调用各种isX
方法的响应对象。
isSuccessful
清楚地捕捉到异常在某种程度上给了我相同的答案,但上述手册页上的其他一些方法也很有用。
我究竟做错了什么?
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');
如果我能让这个流工作会很棒,还是只能使用本地文件?做这种事情的最优化方法是什么?
php - 使用 Guzzle HTTP 客户端时如何禁用代理?
我正在尝试使用 Guzzle 库在客户端服务器上调用 Web 服务 - 但服务器有一个代理,所以我的代码中出现 404 错误。
如果我 ssh 进入客户端服务器并尝试
我收到一个错误
但是如果我使用
我得到一个结果
我可以在 Guzzle 文档中看到设置代理的选项 - http://guzzle.readthedocs.org/en/latest/http-client/client.html#proxy
但是如何完全禁用代理呢?或者这将是一个服务器设置?
编辑:
结果 :
php - 如何使用 Guzzle 保留错误响应主体
我正在使用 Guzzle 从 API 消费。当该 API 中发生错误时,响应看起来像这样。
我希望该正文响应(json 编码)成为 Guzzle 处理的异常中的消息。
有没有办法允许这样做?
php - AWS SDK for PHP 的 S3 流包装器适用于写入,但不适用于读取
为了方便起见,我决定使用 AWS SDK 的包装器,这样我就可以从我的 S3 存储桶中流式传输数据,但情况如下:
使用此代码写入我的存储桶有效
该文件在此操作后存在,所以一切正常,但之后我无法读取它,因为fopen('s3://mybucket/test.txt', 'r')
失败并显示以下警告:
...这个错误:
因此,我可以捕获该异常或改用该异常,getObject
但我仍然无法读取文件流,这违背了目的。也许这不是一件大事,但我对 Guzzle 和 AWS SDK 的内部工作原理并不熟悉。
任何关于我在这里做错的帮助或指南将不胜感激,我在谷歌上搜索了一段时间,但我找不到有用的信息来解决它,所以这一切很可能都是由于我的无能而发生的.
提前致谢。
干杯。
json - Guzzle:使用 PUT 方法发送 JSON
我想更新一个组,所以我使用 put 方法发送 json pe {"admin":1,"user":0}。
我试图将它添加到 url 但没有运气。我似乎无法在后端抓住它。请记住,我在后面使用 Laravel。提前谢谢各位。