PHP cURL:获取重定向目标,而不跟随它

2024-02-29

curl_getinfo 函数返回大量有关 HTTP 请求结果的元数据。但是,由于某种原因,它不包含我目前想要的信息,如果请求返回 HTTP 重定向代码,则该信息是目标 URL。

我没有使用 CURLOPT_FOLLOWLOCATION 因为我想将特定的重定向代码作为特殊情况处理。

如果 cURL 可以跟踪重定向,为什么它不能告诉我当它不跟踪重定向时它们重定向到什么?

当然,我可以设置 CURLOPT_HEADER 标志并选择 Location 标头。但有没有更有效的方法呢?


您可以简单地使用它:(CURLINFO_REDIRECT_URL)

$info = curl_getinfo($ch, CURLINFO_REDIRECT_URL);
echo $info; // the redirect URL without following it

正如您所提到的,禁用 CURLOPT_FOLLOWLOCATION 选项(在执行之前)并在执行后放置我的代码。

CURLINFO_REDIRECT_URL - 使用 CURLOPT_FOLLOWLOCATION 选项 禁用:在上次事务中找到的重定向 URL,应该是 接下来手动请求。使用 CURLOPT_FOLLOWLOCATION 选项 启用:这是空的。本例中的重定向 URL 可在 CURLINFO_EFFECTIVE_URL

Refrence https://www.php.net/manual/en/function.curl-getinfo.php

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

PHP cURL:获取重定向目标,而不跟随它 的相关文章

随机推荐

  • 虚拟主机无法使用 XAMPP 服务器创建

    我在 httpd vhost conf 文件中添加以下代码
  • 最新SDK的SDKROOT路径

    我正在使用 Xcode 构建旧代码并指定SDKROOT Developer SDKs MacOSX HOST VERSION sdk 我想为系统上预安装 的最新 SDK 指定 SDKROOT 例如我在10 8已经并且我想指定SDKROOT与
  • 未加权无向图中的最长路径

    以此图作为参考 假设我想要 0 到 5 之间的最长路径 那将是 0 gt 1 gt 3 gt 2 gt 4 gt 6 gt 5 有什么好的算法吗 我已经搜索过 但没有找到任何我能理解的东西 我发现了很多最短路径的算法 0 gt 1 gt 2
  • Python:Struct.pack(format, [...]),虽然格式几乎相同,但打包数据的大小不同

    import struct data struct pack ici 1 chr 1 1 print len data 12 data struct pack iic 1 1 chr 1 print len data 9 两个 data 变
  • 连接 MongoDB Atlas 与 Mongoose 时出现超时错误

    我正在尝试使用 mongoose 连接到 MongoDB Atlas 上的数据库 但每次它都会给我以下错误 node 2327 UnhandledPromiseRejectionWarning Error queryTxt ETIMEOUT
  • 密码和不同类型的加密

    我知道 我知道 类似的问题已经被问过数百万次了 但由于大多数问题都有不同的风格 所以我有自己的风格 目前我正在开发一个网站 该网站打算在全国范围内推出 因此需要对用户系统进行某种保护 我最近读了很多关于密码加密 散列 加盐 凡是你能想到的内
  • ios:使用 GLEssentials 示例代码显示简单的 3D 模型

    我的目标是显示一个简单的 3D 模型并在其上应用纹理 我已经下载了 GLEssentialsios示例项目 http developer apple com library ios samplecode GLEssentials Intro
  • 删除 SimpleForm 生成的选择字段的空白选项

    我有这段代码 f input category as gt select label gt false collection gt Choices Categories Choices Categories 只是 key gt value
  • 使用 TCP 的模拟器连接

    又嗨了 我正在尝试连接在同一台 PC 上作为服务器和客户端运行的两个模拟器 问题是其中一个位于虚拟机内 每个模拟器应该使用什么地址才能在它们之间进行连接 我正在使用基于 TCP 的连接 第一个模拟器在 Windows 7 上运行 Vmwar
  • 适用于高带宽应用的 WebRTC 数据通道

    我想通过 WebRTC 数据通道发送单向流数据 并且正在寻找最佳配置选项 高带宽 低延迟 抖动 以及其他人在此类应用程序中的预期比特率的经验 我的测试程序发送 2k 的块 使用 2k 的 bufferedAmountLowThreshold
  • 找不到 ID 为“xxx”的 UpdatePanel。如果它是动态更新的,那么它必须位于另一个 UpdatePanel 内

    我有一个带有 Ajax 选项卡控件的页面 其中一个选项卡中有一个 Web 控件 它是 Telerik RadGrid 其中编辑表单指向另一个 Web 控件 该编辑表单还包含 Ajax 选项卡 并且在其中一个选项卡上 还有另一个 Web 控件
  • Matlab 中的曲面图

    我正在尝试用对角矩阵绘制曲面 我正在尝试绘制的方程是 f x TDx x 是 2 x 1 向量 D 是 2 x 2 矩阵 这是到目前为止的内容 但我不断收到错误 x linspace 10 10 y linspace 10 10 X Y m
  • 如何将推文居中?

    Twitter 提供了嵌入推文的代码 例如我有 blockquote class twitter tweet p NoSQL space gradually becoming SlowSQL space p mdash Big Data B
  • 为什么我的 TreeSet 不添加第一个元素之外的任何内容?

    我有几个形式的数组 private static String patientNames John Lennon Paul McCartney George Harrison Ringo Starr 然后我制作一个像这样的 TreeSet
  • R knit:可以以编程方式修改块标签吗?

    我正在尝试使用 knit 生成一份报告 该报告对数据集的不同子集执行相同的分析集 该项目包含两个 Rmd 文件 第一个文件是设置工作区和文档的主文档 第二个文件仅包含执行分析并生成相关图形的块 我想做的是编织主文件 然后为每个数据子集调用第
  • Cin 对象返回值 C++ [重复]

    这个问题在这里已经有答案了 我想问一下cin的返回值是多少 我知道它是 ifstream 对象 并且当它在表达式中使用时 如if cin 实际上有一个函数被调用 我想知道它实际上是什么函数 cin fail 或 cin good 或 是if
  • SQL Server 2000 中的交叉表查询

    我希望以前有人尝试过这一点 并且在我进一步之前可以得到一些建议 我希望在 sql server 2000 中生成类似于交叉表查询的内容 我有一个类似于以下的表结构 Item Item Parameter Parameter id item
  • 在我的 iOS 应用程序中实施新的 Google 地图 SDK

    更新 我刚刚收到一封来自 Google 的有关新 Google 地图 iOS SDK 的电子邮件 看来一切都已经解决了 我已成功为我的应用程序创建新的 API 密钥 还没有测试过 但看起来是正确的 他们派我来this https devel
  • 我应该何时以及如何使用 ThreadLocal 变量?

    我什么时候应该使用ThreadLocal https docs oracle com javase 8 docs api java lang ThreadLocal html多变的 它是如何使用的 一种可能 也是常见 的用途是当您有一些非线
  • PHP cURL:获取重定向目标,而不跟随它

    curl getinfo 函数返回大量有关 HTTP 请求结果的元数据 但是 由于某种原因 它不包含我目前想要的信息 如果请求返回 HTTP 重定向代码 则该信息是目标 URL 我没有使用 CURLOPT FOLLOWLOCATION 因为