当前位置: 首页 > 面试题库 >

在PHP中测试404 URL的简单方法?

左丘阳晖
2023-03-14
问题内容

我正在自学一些基本的抓取方法,但发现有时输入到代码中的URL返回404,这将困扰我所有的代码。

因此,我需要在代码顶部进行测试,以检查URL是否返回404。

这似乎是一个非常直截了当的任务,但是Google并没有给我任何答案。我担心我在寻找错误的东西。

一个博客建议我使用这个:

$valid = @fsockopen($url, 80, $errno, $errstr, 30);

然后测试以查看$ valid是否为空。

但是我认为给我带来问题的URL上有一个重定向,因此$ valid对于所有值都为空。也许我在做其他错误。

我还研究了“ head请求”,但还没有找到可以使用或尝试的任何实际代码示例。

有什么建议吗?卷曲是什么意思?


问题答案:

如果您使用的是PHP的curlbindings,则可以这样检查错误代码curl_getinfo

$handle = curl_init($url);
curl_setopt($handle,  CURLOPT_RETURNTRANSFER, TRUE);

/* Get the HTML or whatever is linked in $url. */
$response = curl_exec($handle);

/* Check for 404 (file not found). */
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
    /* Handle 404 here. */
}

curl_close($handle);

/* Handle $response here. */


 类似资料:
  • 我有一个应用程序事件侦听器,其中包含以下函数: 我如何编写一个单元测试来模拟ContextRefreshedEvent,比如正在执行的jar,并测试我的onApplicationEvent函数是否完成了它应该做的事情?

  • 问题内容: 判断用户是否使用移动设备通过PHP浏览我的网站的最简单方法是什么? 我遇到了许多可以使用的类,但是我希望有一个简单的if条件! 有办法吗? 问题答案: 码:

  • 本文向大家介绍PHP简单开启curl的方法(测试可行) 原创,包括了PHP简单开启curl的方法(测试可行) 原创的使用技巧和注意事项,需要的朋友参考一下 本文讲述了PHP简单开启curl的方法。分享给大家供大家参考,具体如下: 一、问题: windows主机出现“Call to undefined function curl_init”错误提示,没有定义的函数,也就是php还没打开对curl_i

  • 本文向大家介绍PHP单元测试PHPUnit简单用法示例,包括了PHP单元测试PHPUnit简单用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP单元测试PHPUnit简单用法。分享给大家供大家参考,具体如下: windows开发环境下,PHP使用单元测试可以使用PHPUnit。 安装 首先下载PHPUnit,官网:https://phpunit.de/  根据自己的PHP版本下

  • 虽然这个测试可能是微不足道的,但它说明了单元测试的基本元素。 我们使用解释这个测试是什么,我们使用来断言我们从测试中得到什么样的结果。 这些是用户定义的,因此在这些消息中描述性和准确性是一个好主意。 诸如“应该工作”或“测试服务”之类的消息不能真正解释发生了什么,并且在整个应用程序上运行多个测试时可能会产生混淆。 我们的实际测试是基本的,我们使用制定一个场景,并使用来断言我们从该场景预期的结果条件

  • import { CounterActions, INCREMENT_COUNTER, DECREMENT_COUNTER, } from './counter'; // Mock out the NgRedux class with just enough to test what we want. class MockRedux extends NgRedux<any> { c