PHP simplexml_load_file 捕获 403

2023-12-02

我正在使用以下 PHP:

$xml = simplexml_load_file($request_url) or die("url not loading");

I use:

$status = $xml->Response->Status->code;

检查响应的状态。 200 一切都好,继续。

但是,如果我收到 403 访问被拒绝错误,我如何在 PHP 中捕获此错误,以便返回用户友好的警告?


从调用中检索 HTTP 响应代码simplexml_load_file(),我知道的唯一方法就是使用PHP鲜为人知的$http_response_header。每次您通过 HTTP 包装器发出 HTTP 请求时,此变量都会自动创建为一个数组,其中单独包含每个响应标头。换句话说,每次你使用simplexml_load_file() or file_get_contents()包含以“http://”开头的 URL

您可以使用以下命令检查其内容print_r() such as

$xml = @simplexml_load_file($request_url);
print_r($http_response_header);

不过,就您的情况而言,您可能希望使用以下命令单独检索 XML:file_get_contents()然后,测试您是否收到 4xx 响应,如果没有,则将正文传递给simplexml_load_string()。例如:

$response = @file_get_contents($request_url);
if (preg_match('#^HTTP/... 4..#', $http_response_header[0]))
{
    // received a 4xx response
}

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

PHP simplexml_load_file 捕获 403 的相关文章

  • 解析 XML 标签不匹配时出错

  • Yii2:无法将列值更新+1

    创建新记录时 我需要将列值更新 1 public function actionCreate model new CreateBookings if model gt load Yii app gt request gt post Yii
  • XmlArray 序列化 - 如何使序列化程序忽略列表中项目的类名?

    我有一个类 除其他属性外 还有一个 MyObject 列表 public class MyClass XmlArray OBJECT public List
  • Facebook Graph API - 如何用新行发布到墙上?

    我正在使用 Facebook Graph API 但遇到一个问题 我找不到任何方法如何使用一些 HTML 代码发布到墙上or新线路 怎么办呢 这是我的代码
  • PHP 文件大小报告旧大小

    以下代码是我编写的 PHP Web 服务的一部分 它需要一些上传的 Base64 数据 对其进行解码 然后将其附加到文件中 这一切都很好 问题是 当我在追加操作之后读取文件大小时 我得到了追加操作之前文件的大小 fileOut fopen
  • 在 PHP 中的请求之间存储对象而不进行序列化

    我正在用 PHP 编写一个有状态的 Web 应用程序 其中状态可能包含大量对象 目前 我将所有这些对象保存在 SESSION 中 并在请求结束时将它们序列化 这有点痛苦 因为序列化整个会话需要几秒钟 而反序列化则需要更多时间 我想尝试 AP
  • Codeigniter $this->db->reconnect();用法

    I m not自动加载数据库 因为我的应用程序的大多数页面don t需要数据库处理 否则整个事情会变慢 我想要做的是 当数据库已经存在时 不要建立与数据库的新连接 而是使用它而不是打扰服务器数据库 那么我该如何实施 this gt db g
  • PSR-2 编码标准:为什么仅包含 PHP 的文件中没有 PHP 结束标记? [复制]

    这个问题在这里已经有答案了 我刚刚听说PSR 2编码标准 http www php fig org psr psr 2 在对此问题的评论中 是否有任何理由在方法和成员变量名称之前使用 public 关键字 https stackoverfl
  • SMTP:无法连接套接字:无法找到套接字传输“ssl”

    我一直在尝试在 WAMP 上使用 Pear 发送电子邮件通过 GMail 花了几个小时将其全部设置并找出我遇到的所有错误后 我以为我已经很接近了 直到我开始收到此错误 Failed to connect to ssl smtp gmail
  • Mysqli get_result替代方案

    我刚刚将所有 sql 查询更改为使用 mysqli 准备好的语句 为了加快这个过程 我创建了一个函数 称为performQuery 取代mysql query 它需要传入查询 绑定 如 sdss 和变量 然后执行所有准备好的语句 这意味着更
  • 从 XML 获取 viewCount [重复]

    这个问题在这里已经有答案了 我目前正在使用YouTube API https developers google com youtube 来自 Google 我正在尝试获取 viewCount 数组 我已经尝试过这个 但一点运气都没有 He
  • 在数据转换之前应用验证

    我想将从提交的用户数据中获得的文本字段转换为 Symfony2 中的对象 我使用 DataTransformer 来做到这一点 当我使用 NotEmpty 或 NotNull 等内置验证器或任何以标准方式内置的自定义验证器时 Symfony
  • 如何在数据库中找到实际的联系表7结构?

    我想找到我所有表单的实际代码 有很多 例如 cf7 代码如下所示
  • 保存下拉列表中的值

    这是我的情况 我有 2 页 一页用于选择值 一页用于编辑与该值关联的数据库相关内容 现在 我对如何将从下拉列表中选择的值保存到 PHP 的变量中一无所知 并且已经进行了相当多的研究 有任何想法吗 HTML
  • 语言翻译语法

    我正在尝试为我的项目添加另一种语言 我们知道语言可以表现出主语和谓语的差异 例如 英语 Mustafa和他的朋友去看电影ahmet today 土耳其 Mustafa布昆 阿卡达西ahmetile birlikte sinemaya git
  • PHP strtotime +1 个月添加额外一个月[重复]

    这个问题在这里已经有答案了 我有一个简单的变量 可以将今天添加一个月 endOfCycle date Y m strtotime 1 month 今天是 2013 年 1 月 所以我希望返回 2013 02 但我得到的是 2013 03 我
  • Java XML 解析器添加不必要的 xmlns 和 xml:space 属性

    我在 Windows 10 上使用 Java 11 AdoptOpenJDK 11 0 5 2019 10 15 我正在解析一些旧版 XHTML 1 1 文件 这些文件采用以下一般形式
  • PHP - 递归搜索数组中的键和子键,成功时返回键['subkey]

    因此 我编写了一个函数 该函数可以在数组中深入搜索两个级别以查找键和子键对 基本上是在寻找key subkey 如果找到 则返回key subkey 我正在寻找一种以真正递归的方式执行此操作的方法 并根据需要进行尽可能多的深度搜索 直到到达
  • 使用 file_get_contents 在 php 中进行屏幕缩放

    嗨 我对屏幕抓取很陌生 我正在尝试从酒店预订网站上抓取评论以显示在我的网站上 我已经走到这一步了 但有点卡住了 有人可以帮忙吗 use 文档 http php net manual en class domdocument ph
  • Yii框架异步请求

    我有一个执行 3 个任务的 ajax 请求 保存模型 数据库 发电子邮件 给出成功或失败的消息 因为这个任务需要的时间太长了 用户最多可以等待 20 秒以获得响应 成功或失败消息 如果用户关闭浏览器 则其会停止用户当前进程的操作之一 这是糟

随机推荐

  • AngularJS:自定义过滤器和 ng-repeat

    我是 AngularJS 新手 我正在构建一个小型概念验证汽车租赁列表应用程序 该应用程序提取一些 JSON 并通过 ng repeat 和几个过滤器呈现该数据的各种位
  • WSO2ESB 是否可以使用标头发送电子邮件

    我希望使用 Header mediator 向我的客户发送电子邮件 是否可以这样做 我的代理是这样的
  • Java:使用unicode上划线显示平方根时字符串的长度?

    在 Java 中 我创建了一个使用 unicode 和上划线的字符串 因为我试图显示数字的平方根 我需要知道某些格式问题的字符串长度 当在 unicode 中使用组合字符时 查找字符串长度的常用方法似乎失败 如以下示例所示 任何人都可以帮我
  • 解包函数返回到 pandas 数据框列

    我有一个现有的数据框 radar locations 其中包含 除其他外 纬度和经度坐标 对于该信息 我需要添加国家 地区和州列 因此我编写了一个函数来执行反向地理编码并返回所需的两个值return geodata state geodat
  • Android 版 Chrome 和桌面版 Chrome 有什么区别?

    我知道两者都使用相同的 webkit 版本 537 36 并且都使用相同的 javascript 引擎 V8 但是它们之间还有其他主要区别吗 我有一个网络应用程序 可以对桌面 Chrome 进行自动测试 但对 Android 上的 Chro
  • Python 中 matplotlib 和 seaborn 之间的绘图不一致

    我正在尝试使用添加错误栏plt errorbar to a pointplot在海博恩 import matplotlib import matplotlib pylab as plt import seaborn as sns impor
  • 用于连接和删除公共前缀的 SQL 查询

    我有一些数据 id ref 1 3536757616 1 3536757617 1 3536757618 并想要得到结果 1 3536757616 7 8 所以本质上数据是在 id 上聚合的 引用连接在一起 用斜杠 分隔 但删除了任何公共前
  • 如何获取 perl 系统调用的 CPU 时间?

    我有一个 perl 脚本 它使用以下命令调用外部可执行文件system 我想测量这些外部程序占用的 CPU 秒数 理想情况下 我想使用内置的 shell 来运行它们time命令 这是在 Linux 系统上 像这样的东西 system tim
  • firebase 云函数 context.auth 字段是否适用于 firestore? [复制]

    这个问题在这里已经有答案了 使用firestore时是否可以通过context auth属性获取触发云功能的用户的uid exports updateReport functions firestore document groups gr
  • PostgreSQL 和 JDBC 的 ClassNotFoundException

    我在与 Java 和 PostgreSQL 数据库建立连接时遇到一些困难 我已经下载了JDBC4 Postgresql 驱动程序 版本 9 2 1002驱动程序并正确设置应用程序 ClassPath 我的代码如下 import java s
  • socket.io 房间或命名空间?

    我正在研究 nodejs socket io 进行实时聊天 我需要一些关于实施房间的建议 使用命名空间或使用房间功能来完全隔离聊天组 哪个更好 房间和命名空间之间真正的技术区别是什么 资源使用情况有区别吗 这就是命名空间和房间所具有的共同点
  • 强制 CMake 查找 x64 位库而不是 x32

    因此 我一直在 stackoverflow 和其他一些论坛中查找如何强制 CMake 查找 x64 库而不是 x32 但它并没有多大帮助 当我做 find package Boost 1 67 0 COMPONENTS atomic REQ
  • 如何在 macOS 终端中批量重命名文件?

    我有一个包含一系列文件的文件夹 名为 prefix 1234 567 png prefix abcd efg png 我想批量删除一个下划线和中间内容 因此输出将是 prefix 567 png prefix efg png 相关但不完全解
  • 我可以将 Zend PDT (eclipse) 链接到浏览器操作吗?

    是否可以在 Eclipse 中配置 Zend PDT 调试器 以与 Eclipse 的 Java 调试器类似的方式从浏览器操作中命中断点 IE 设置断点 启动调试器 浏览站点 然后在遇到断点时进入断点 我可以调试单个脚本和网页 但是我正在尝
  • 如何解析网页

    我试图从 EnviroCanada 天气页面中提取以下内容 我试图按照以下方式获取每小时的数据 时间 大腿 特洛 湿度 7 00 23 23 22 9 22 9 30 提取的 HTML 页面 tr td class text center
  • 如何在 XSLT 中保留元素的开始标记内的空格

    为了避免将敏感信息提交到 SCM 存储库 我编写了一个 XSL 样式表 用于从 ASP NET 中删除连接字符串密码Web config文件 它实现了我删除密码的目标 但它也会影响元素开始标签内的空白 如果可能的话 我想保留这个空白 例如
  • 如何通过 C# 代码更改已过期的 sql server 密码?

    当您使用 SqlConnection 连接到 MS Sql Server 时 如果密码已过期 您将收到 SqlException 编号 18487 或 18488 如何在连接尝试期间更改代码中的用户密码 使用静态SqlConnection
  • 如何允许其他人访问由 Google Apps 脚本制作的网络应用程序?

    我从 Google Apps 脚本部署了一个网络应用程序 但其他人似乎无法运行它 当我登录谷歌时 它运行得很好 我不断得到 要求分享 电子邮件 即使我将源脚本设置为 在网络上公开 执行应用程序 被设定为 用户访问网络应用程序 该应用程序的链
  • Azure Pipelines 第二个作业找不到第一个作业的结果

    我正在开始使用 azure pipelines yml 我想在同一阶段有两份工作 一个用于构建解决方案 另一个用于运行单元测试 问题是第二个作业执行了脚本步骤 但没有找到文件夹Release前一个应该已经创建 trigger master
  • PHP simplexml_load_file 捕获 403

    我正在使用以下 PHP xml simplexml load file request url or die url not loading I use status xml gt Response gt Status gt code 检查