将 cURL 请求转换为 Guzzle

2024-04-15

我正在尝试使用Guzzle而不是直接使用cURL来实现HTTP请求。我如何使用 Guzzle 发出相同类型的请求?或者我应该坚持使用 cURL ?

$ch = curl_init();
// Set the URL
curl_setopt($ch, CURLOPT_URL, $url);
// don't verify SSL certificate
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// Return the contents of the response as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Follow redirects
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
// Set up authentication
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$token:X");

我一直遇到 401 未经授权的错误。我知道我有正确的凭据。让我觉得我没有走在正确的道路上的是 Guzzle 文档指出:目前仅在使用 cURL 处理程序时支持 auth,但计划创建可与任何 HTTP 处理程序一起使用的替代品。但据我了解,Guzzle 默认使用 cURL。

$guzzleData = [
  'auth' => [$token, 'X'],
  'allow_redirects' => true,
  'verify' => false,
];

$client = new \Guzzle\Http\Client();
$request = $client->get($url, $guzzleData);
$response = $request->send();

这是解决方案:

$client = new \Guzzle\Http\Client();
$request = $client->get($url);

$request->getCurlOptions()->set(CURLOPT_SSL_VERIFYHOST, false);
$request->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER, false);
$request->getCurlOptions()->set(CURLOPT_RETURNTRANSFER, true);
$request->getCurlOptions()->set(CURLOPT_FOLLOWLOCATION, true);
$request->getCurlOptions()->set(CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$request->getCurlOptions()->set(CURLOPT_USERPWD, "$token:X");

$response = $request->send();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 cURL 请求转换为 Guzzle 的相关文章

  • 循环 PHP 嵌套数组 - 将值提取到刀片视图中 (Laravel)

    我知道关于这个主题有很多问题 但没有一个完全解决这个问题 据我所知 我在 Laravel 项目中有一个 PHP 数组 仅供参考 是通过 Guzzle 响应返回的 PHP 数组 users array 2 error gt bool fals
  • PHP Guzzle 5:无法处理包含端口号的 URL

    我正在使用最新版本的guzzle from composer json guzzlehttp guzzle 5 from composer lock name guzzlehttp guzzle version 5 2 0 当我尝试使用包含
  • 如何通过 Azure 上传小文件 API 在 Yammer API 上上传文件

    如何随 Yammer 消息一起上传附件 任何遗留方法通过attachment1等领域 messages json端点将不再工作 新方法没有很好的记录 https developer yammer com docs upload files
  • 为什么我的授权标头在 Guzzle 中显示 401?

    我在 Guzzle 4 2 上收到 401 同样的设置也适用于 Postman 代码如下 Create a client with a base URL client new GuzzleHttp Client base url gt cl
  • guzzle ver 6 post 方法不起作用

    正在邮递员中工作 带有 application json 类型的原始格式数据 与guzzle6 url http vm xxxxx com v1 hirejob company name company name last date app
  • 使用 guzzle 6 发送 (POST) xml 的正确方法

    我想用 guzzle 发送 xml 文件来执行帖子 我没有找到例子 到目前为止我所做的是 xml2 simplexml load string xml or die Error Cannot create object use Guzzle
  • 使用 Guzzle 6 将文件上传到 API 端点

    我可以使用 Postman 将文件上传到 API 端点 我正在尝试将其转换为从表单上传文件 使用 Laravel 上传文件并使用 Guzzle 6 发布到端点 Screenshot of how it looks in Postman I
  • Guzzle http 的 Laravel 中的错误日志记录被截断

    Guzzle http 正在截断超过 120 个字符的异常 但我需要记录完整的异常消息 我怎样才能做到这一点 我正在使用 laravel 4 2 22 try whatever catch GuzzleHttp Exception Requ
  • Laravel Http Facade 中的 PHP Curl 代理选项

    我正在使用 Laravel 的 Http 外观来发出请求 例如 Http withHeaders user agent gt My User agent gt retry 3 500 gt get https example com gt
  • 如何同时执行多个Guzzle请求?

    我可以使用 Guzzle 执行单个请求 并且到目前为止我对 Guzzle 的性能非常满意 但是 我在 Guzzle API 中读到了有关 MultiCurl 和批处理的内容 有人可以向我解释如何同时发出多个请求吗 如果可能的话异步 我不知道
  • PHP Guzzle:空正文响应

    我刚刚开始尝试 guzzle 但我在响应主体上得到一个空字符串 client new Client base uri gt http httpbin org timeout gt 2 0 response client gt request
  • 设置elasticsearch php客户端的connect_timeout

    我想在我的elasticsearch php 客户端到我的elasticsearch 服务器之间配置一个小的超时 我尝试将一些参数传递给 guzzle 客户端 但似乎这不起作用 这是代码 params array params hosts
  • Guzzle HTTP 请求从 POST 转换为 GET

    当我尝试向外部 API 发布帖子时 发生了一件非常奇怪的事情 我尝试向 URL 发出 POST 请求 但 Guzzle 发出 GET 请求 这是对此 API 的合法操作 但返回不同的内容 这是代码 request this gt clien
  • 如何在 php / Laravel 5 中解析 SimpleXMLElement?

    我使用 Guzzle 向后端的外部 API 发出 XML 请求 这是我创建 Guzzle 客户端的地方 client new Client GuzzleHttp Client 这是我提出请求的地方 request client gt req
  • 在 Laravel 8 中捕获 HTTP 客户端错误

    你如何捕捉抛出的错误HTTP客户端 https laravel com docs 8 x http client 例如超时 以便在您可以对错误执行任何操作以避免停止执行之前 它不会在 Laraval 调试器 在调试模式下 中抛出curl 错
  • Guzzle:处理 400 个错误请求

    我在 Laravel 4 中使用 Guzzle 从另一台服务器返回一些数据 但我无法处理错误 400 错误请求 status code 400 reason phrase Bad Request using client gt get ht
  • Laravel - 将 Guzzle 请求记录到文件

    在开发一个项目时 我发现第三方 API 可以在 Postman 中运行 但不能在 Guzzle Client 中运行 调试 Guzzle 请求可能很困难 那么有没有什么方法可以记录 Guzzle 客户端发出的所有请求 TLDR 有一种简单的
  • 在 Laravel 5 中安装 Guzzle

    如何将 Guzzle 安装到 Laravel 5 中 我在我的项目中使用 laravel 但我需要像 guzzle 这样的库来让我在 laravel 中轻松使用curl 任何机构可以帮忙吗 打开终端 切换到你的 laravel 项目根目录并
  • 将 cURL 请求转换为 Guzzle

    我正在尝试使用Guzzle而不是直接使用cURL来实现HTTP请求 我如何使用 Guzzle 发出相同类型的请求 或者我应该坚持使用 cURL ch curl init Set the URL curl setopt ch CURLOPT
  • Laravel - 获取客户端 IP 地址 - 始终获取 127.0.0.1 结果

    我无法获取客户端的 IP 地址 我需要该地址来确定他的当前位置 我使用了 request gt ip SERVER REMOTE ADDR 并且总是得到 127 0 0 1 结果 这不是我想要的 我究竟做错了什么 有时您的客户端通过代理使用

随机推荐

  • 不可变类型:公共最终字段与 getter

    我需要一个小的容器类来存储一些应该不可变的字符串 由于 String 本身是不可变类型 所以我想到了类似的东西 public final class Immu public final String foo public final Str
  • 从 airodump-ng 读取实时输出

    当我执行命令 airodump ng mon0 gt gt output txt 时 output txt 为空 我需要能够运行 airodump ng mon0 并在大约 5 秒后停止该命令 然后才能访问其输出 有什么想法我应该从哪里开始
  • 如何以良好的格式结果格式化 python 列表

    我有很多列表 如下所示 通过打印data并将其与字符串连接起来check str如下最后一条语句所示 需要帮助以在字符串连接后更好地格式化列表值 如预期所示 print data printing lists in this variabl
  • 图像上的文本没有绝对位置

    我正在尝试在页面中间的图像上放置一些文本 我看到一个这样的例子 img src image png p p p p
  • 在 docker 容器上保存配置

    我创建了 2 个 docker 容器 并尝试在 ubuntu debian 上安装一些应用程序和一些软件包 如 mc ping traceroute 但每当我退出容器时 我都会丢失其中的所有内容 是否有任何 docker 命令可以保存我的配
  • 从具有特定模式的 txt 文件创建 Pandas DataFrame

    我需要基于以下结构的文本文件创建一个 Pandas DataFrame Alabama edit Auburn Auburn University 1 Florence University of North Alabama Jackson
  • .NET Framework 全局程序集缓存在哪里?

    我安装了 VS2010 和 NET 4 0 然后编译了一个程序集并使用可用的 exe 运行 gacutil ProgramFiles Microsoft SDKs Windows v7 0A Bin NETFX 4 0 Tools 可执行文
  • 如何在 R 中重新格式化表格?

    我加载了一个这样的表 V1 V2 V3 pat1 1 2 pat1 3 1 pat1 4 2 pat2 3 3 pat3 1 4 pat3 2 3 我需要将其格式化为如下所示 其中 V1 表示行 V2 表示列 V3 中的值 1 2 3 4
  • Android 中未接来电的广播接收器

    有谁知道未接来电的意图是什么 实际上 我想在我的应用程序中发送有关未接来电和来电的短信 您需要使用 ContentObserver public class MissedCallsContentObserver extends Conten
  • fork 后调试子进程(配置了 follow-fork-mode 子进程)

    我正在开发一个应用程序 父级分叉子级来处理某些任务 我遇到一个问题 我已将 gdb 配置为 follow fork mode 子级 但在 fork 后 到达断点后 它发送 SIGTRAP 但子级以某种方式终止并向父级发送 SIGCHLD 我
  • 数据表行切换选项

    我的问题 我正在开发一个与 DataTableJS 相关的项目 我需要一个行分组功能 它与分组行分开 只是我想在下面的切换中显示相关的表行内容城市名 我到底在寻找什么 我的演示代码 document ready function var t
  • Swagger 无法生成 HTTP“PATCH”的文档

    我已遵循以下内容博客条目 http kingsfleet blogspot co uk 2014 02 transparent patch support in jax rs 20 html http Transparent 20PATCH
  • 在 htaccess 文件中使用公用文件夹时的多种语言

    我有这个 htacces文件我很喜欢它 但是如何向它添加多语言 所以它明白localhost en 不是文件或文件夹 现在它使用公共文件夹作为 根 所以localhost public 如果我想这样做 那太好了 我仍然使用公共文件夹作为根目
  • JetBrains(IntelliJ、PhpStorm、WebStorm ...)带有 SSH 密钥的私有 git 存储库

    我的新 Web 服务器需要使用 RSA 2048 密钥进行身份验证 因此我生成了一个密钥 我将ir rsa and id rsa pub我的主文件夹中的文件 ssh Windows 10 但是当我使用 cvs 注释 用于拉或推 时 我收到错
  • 通过查找按组快速 data.table 分配多列

    我一直在寻找规范的方法来完成我正在尝试的事情 但我似乎不太幸运地获得快速而优雅的工作 简而言之 我有一个包含多个值列的大表 并且希望将每个值乘以查找表中的相应因子 我不知道如何动态传递我想要乘以查找值的列 或者如何在基本表达式之外引用查找值
  • C语言中如何清空数组?

    char x 1000 x hello 我会用什么来清除内容x 我无法重新初始化它 请使用strcpy x 0 or free 您不能将任何内容分配给您的变量数组x是 因此 任何以x 是错的 第二 hello 不是字符串 它是一个多字符文字
  • Google Analytics 3.0 身份验证流程

    EDIT 最初这个问题问我如何仅使用我的 API 密钥通过 Google Analytics API 进行身份验证 作为弗拉特科指出 https stackoverflow com a 13834210 697449 这是不可能的 现在我只
  • 为什么 Spark 在字数统计时速度很快? [复制]

    这个问题在这里已经有答案了 测试用例 Spark 在 20 秒以上对 6G 数据进行字数统计 我明白映射减少 FP and stream编程模型 但无法弄清楚字数统计的速度如此惊人 我认为这种情况下是I O密集型计算 不可能在20秒以上扫描
  • Mondrian OLAP 引擎 + Olap4j 的数据呈现

    我正在对一个应用程序进行一些规划 该应用程序使用 Mondrian OLAP 引擎和 Olap4j 并且应该向用户呈现 显示数据 我了解所有后端内容 但我不确定应该如何在视图层中显示数据 例如 olap4j 有一个格式化程序 可以将 SEL
  • 将 cURL 请求转换为 Guzzle

    我正在尝试使用Guzzle而不是直接使用cURL来实现HTTP请求 我如何使用 Guzzle 发出相同类型的请求 或者我应该坚持使用 cURL ch curl init Set the URL curl setopt ch CURLOPT