问题标签 [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.
symfony - guzzle php http 客户端 cookie 设置
我正在尝试从 Zend Http Client 迁移到 Guzzle Http Client。我发现 Guzzle 的功能很好并且在大多数情况下易于使用,但我认为在使用 Cookie 插件时没有很好的文档记录。所以我的问题是如何在 Guzzle 中为要对服务器发出的 HTTP 请求设置 cookie。
使用 Zend Client,您可以做一些简单的事情:
那么,你如何在 Guzzle 中做到这一点。我看过http://guzzlephp.org/guide/plugins.html#cookie-session-plugin。但我觉得这并不简单,我无法理解它。可能有人可以帮忙吗?
curl - 设置证书验证位置时出错(Vagrant、Guzzle、curl)
我有一个 Vagrant box 设置并运行。我正在尝试使用 Guzzle 连接到第 3 方服务的 API。
据我所知,验证证书或来自虚拟机和 API 服务器的 vagrant box 中的东西时遇到了一些问题。
任何建议将不胜感激,谢谢。
这是我回来的错误:
php - 包括一个封装现有类的 PHAR
我有一个当前使用Guzzle的项目(由引导文件中的显式“require_once”加载 [作为 .phar])。
我一直在尝试从 Amazon 添加AWSSDKforPHP,以便我可以轻松处理上传到 Amazon S3。不幸的是,当我尝试包含该包(也打包为 .phar 文件)时,PHP 会抛出一个令人讨厌的错误:
我已经(完全)关闭了 APC,因为我之前已经看到 APC 引起了一些需要/包含问题。
我怀疑 PHP 会有这样一个尴尬的限制,即只能包含一次具有依赖关系的包。...但我可能是错的。
php - Symfony2 ReST 客户端结构
我正在尝试在 Symfony 2 中为 ReST 客户端建立一个最佳实践模式,因为这对我们公司来说是一项非常常见的工作,我们在前端有 Symfony 应用程序,通过 HTTP/ReST 与基于 Java 的后端通信。
我的想法是,这些服务在DDD中为特定域填充“存储库”角色。根据 Doctrine 指定的约定,这些将进入返回 Entity 对象的 Repository 类。
我认为同样的约定也可以在这里工作,ReST 客户端使用像 Guzzle 这样的库或直接 Curl 来实现一个 Repository 类,不管如何,然后那里的代码进行从 XML 或 JSON 到实体的基本转换供上游开发人员操作的对象。这与其他 Symfony 2 用例中的模式一致,并且从 DDD 的角度来看是有意义的。
有没有人看到这个问题或更好的方法?
basic-authentication - 基本身份验证在本地工作,但不在 Travis 上
为了使用我的 API,我需要经过身份验证才能执行一些操作。我正在使用 Behat + Mink 进行测试。
我有两种身份验证方法:通过令牌(发送带有一些参数的 POST 请求,然后获取我可以在其他地方使用的令牌),这在本地环境和 Travis 环境中运行良好,或者我可以使用基本身份验证。
在我的本地环境中,Basic Auth 工作得非常好,而且我不记得配置过什么特别的东西......但是当我在 Travis 上执行测试时,它似乎没有考虑到它。
正如我所说,我正在使用 Behat + Mink(+ Goutte,所以我也在使用 Guzzle),并且在将请求发送到 Curl 之后,似乎包含 Authorization ( Authorization: Basic (base64_txt)
) 的标头只是......消失了。即使我在本地环境中。但是,它仍然保留了我的登录信息。但不是在 Travis 环境中,它与我的本地环境应该没有什么不同......
我不知道是否有足够的信息,但如果您需要更多信息,请随时告诉我,我会尽可能提供。
谢谢。
php - 如何在 PHP 中处理 application/octet-stream(未压缩的 gzip 文件)?
我必须解析很多(10000+)远程压缩文件。每个压缩文件都应该在其中包含一个 CSV(可能在一个文件夹中)。现在我可以获取正文,检查内容类型并解压缩,获得application/octet-stream
.
问题是:什么是八位字节流,如何检查其中的文件或文件夹?
php - 如何在 php 中跨数据中心发出异步 http 请求
我们正在开发基于 Kafka 的事件收集管道,该管道将通过 HTTP GET / POST 请求接受传入事件。它应该能够通过用户浏览器以及在 Nginx + PHP-FPM 上运行的 Web 服务器接收事件。根据需求的本质,该管道必须具有弹性,因此我们将在新加坡 AWS 进行部署,而我们的客户端服务 Web 服务器位于印度孟买的物理数据中心。我们不想因此而引入任何延迟,因此 PHP 应用程序应该只触发一个请求并忘记它,开始时即使约 5% 的请求丢失也是可以的。孟买和新加坡之间的往返时间约为 70 毫秒。我们可以使用哪些选项:-
- 超时时间约为 100 毫秒的 curl 或 fsockopen 请求——不可接受
- 使用Guzzle或curl-easy之类的库——它们在内部仅使用 curl,因此会再次引入延迟
- 将请求本地写入文件并使用像 Flume 或 Kafka 这样的总线进行传输——本质上我们将复制均匀的收集管道,增加硬件成本。
- 使用像 gearman 这样的工作队列——不是这方面的专家,所以不知道利弊。
- 阳光下的任何东西,都提供免费且低维护的服务。
请建议。
php - Goutte 禁用 Guzzle 缓存
我遇到了 Goutte 的问题,或者实际上是 Goutte 的 Guzzle 部分。
Guzzle 确实会自动缓存每个 GET 调用,我试图禁用它,但我无法真正让它工作。
正如您在此处看到的,我将缓存参数直接解析到 Guzzle 构造函数中。
但是,这不会进行任何更改。从缓存插件的文档开始(参见:http ://guzzlephp.org/guide/http/caching.html )
这段代码:
应该输出cache.override_ttl的当前值,这不会输出任何东西。
我相信这一定是关于 Goutte 包装的东西,我忽略了。有人有想法么?