问题标签 [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 投票
2 回答
2215 浏览

mink - Mink - Goutte Driver cURL SSL 错误

我正在使用Mink 1.4,使用 Goutte 驱动程序。

我试图在页面中设置一些表单字段值,然后单击提交该表单的按钮。

但后来我得到这个错误

我假设由于我设置CURLOPT_SSL_VERIFYPEER为 false,它不应该检查 SSL。

这是我的代码:

}

0 投票
0 回答
140 浏览

mink - Mink - 无法检索 Microsoft 提供的页面

我有这个代码

当我尝试在具有部分响应标头的页面上使用此代码时

然后我得到这个错误

我已经为 PHP 服务和 Microsoft 服务(我怀疑是 ASP)网站重复了这段代码。只有 ASP 站点存在此问题。

有什么理由不能与 Microsoft 提供的页面一起使用吗?

0 投票
2 回答
5646 浏览

php - Guzzle post 参数问题

使用 2 个参数执行 POST 请求时:

$客户端:

我得到以下异常:

似乎客户端正在尝试打开文件。

编辑

查看我看到的 Guzzle 源代码:

https://github.com/guzzle/guzzle/blob/master/src/Guzzle/Http/Message/RequestFactory.php#L88

如果我想逃避那个角色怎么办?

0 投票
3 回答
42780 浏览

php - 使用 Guzzle 复制远程文件

我正在尝试将远程文件(图像 PNG、GIF、JPG ...)复制到我的服务器。我使用Guzzle ,因为即使文件存在,有时也会使用copy()得到 404,而且我还需要进行基本身份验证。此脚本位于由 cron 作业触发的命令中启动的长脚本中。我对 Guzzle 很陌生,我成功复制了图像,但我的文件的 mime 类型错误。我一定在这里做错了什么。请建议我这样做的好方法(包括检查复制成功/失败和 mime 类型检查)。如果文件没有 mime 类型,我会弹出带有详细信息的错误。

这是代码:

当我这样做时,我的 mime 类型设置为application/x-empty

此外,当状态不同于 200 Guzzle 时,它​​看起来会自动抛出异常。我怎样才能停止这种行为并自己检查状态,以便我可以自定义错误消息?

编辑:这适用于 Guzzle 3.X 现在这是使用 Guzzle v 4.X 的方法(适用于 Guzzle 6)

或使用 Guzzle 流:

这看起来很棒。使用 Guzzle 4 时是否有更好/适当的解决方案?

0 投票
1 回答
3889 浏览

guzzle - Guzzle HTTP 客户端 - statusCode

我正在使用 Guzzle Framework 获取一些 cURL 数据。

代码

X请求后,我收到 403 禁止错误代码,大多超过 150。

有什么解决办法吗?

0 投票
1 回答
4509 浏览

php - Guzzle 维护饼干

我正在为一个允许用户通过 API 登录的站点创建一个 API。我正在使用 Guzzle,但问题是如何将 Cookies 插件与 Guzzle 一起使用?在 cURL 中,我可以使用 cookie 文件,并将其与请求一起传递。但是 Guzzle 文档上的示例看起来令人困惑。

它似乎提出了 3 个请求。我不明白为什么它向 test.com 发出请求,然后向 yahoo.com 发出两次请求。为什么您无法提出 1 个请求?

0 投票
1 回答
822 浏览

php - PHP 内存耗尽为 32MB

我有一个非常基本的脚本,可以抓取网站的数据。然后它对这些 URL 进行一些处理以提取数据。我正在使用以下内容:

我无法发布代码,因为它是专有的。如果我这样做,我工作的公司会解雇我。

我在脚本中有一个 Guzzle 客户端。我将这个对象重用于 HTTP 请求。

我使用 DomCrawler 从页面中抓取所需的数据。我遍历一长串 URL,从每个 URL 中抓取数据。

我到达了大约第 50 个 URL,并注意到内存在 32MB 处已耗尽。我不想增加内存限制,而是想真正找出造成这种情况的原因。

有没有办法强制 PHP 清除 Crawler 对象的内存?以及如何跟踪内存使用情况以查看内存的使用位置?

更新

我决定使用以下方法打印内存使用情况:

...在处理数据之前和之后的循环内。似乎记忆似乎在不断增加,而且似乎永远不会下降。

这是输出。每个块都是循环的一次迭代。再次抱歉,我删除了网站 URL。由于我工作的公司,我不允许在这里发布它们。

0 投票
1 回答
155 浏览

php - 如何让 guzzle 发送没有名称的参数?

我有这样的操作描述:

这是 guzzle 发送的内容:

我真正需要的:

怎么做?

0 投票
9 回答
155857 浏览

php - 从 Guzzle 中捕获异常

我正在尝试从我正在开发的 API 上运行的一组测试中捕获异常,并且我正在使用 Guzzle 来使用 API 方法。我已经将测试包装在 try/catch 块中,但它仍然抛出未处理的异常错误。如他们的文档中所述添加事件侦听器似乎没有任何作用。我需要能够检索 HTTP 代码为 500、401、400 的响应,实际上任何不是 200 的响应,因为如果它不起作用,系统将根据调用结果设置最合适的代码.

当前代码示例

即使对于抛出的异常类型有特定的 catch 块,我仍然会回来

如您所料,页面上的所有执行都会停止。BadResponseException 捕获的添加使我能够正确捕获 404,但这似乎不适用于 500 或 401 响应。谁能建议我哪里出错了。

0 投票
1 回答
495 浏览

php - 使用 Curl(或 Guzzle)登录 DOTNETNUKE 应用程序

几天来,我一直在尝试获取一个小的 PHP 脚本来登录 DOTNETNUKE 应用程序,但无济于事。我已经完全复制了标题和发布变量,因为它们是使用用于 firefox 的 Tamper Data 插件发送的。

每次我发送数据时,我都会收到以下错误:

error=你的%20session%20has%20expired.%20%20请%20try%20again

据我所知,这是因为 DOTNETNUKE Cookie 没有被传回,我不确定为什么会有任何帮助将不胜感激。我的 GUZZLE 代码如下:

提前谢谢!