首页
学习
活动
专区
圈层
工具
发布

我正在用php编写一个链接检查器,当站点显示像'this page‘t be found’这样的屏幕时,我得不到HTTP错误(例如404或400)。

链接检查器是一种用于检测网站链接有效性的工具。当网站显示类似于"this page can't be found"这样的屏幕时,意味着该链接返回了一个HTTP错误,如404或400。然而,使用PHP编写的链接检查器无法直接获取到这些HTTP错误码。

要解决这个问题,可以通过使用PHP的curl库来发送HTTP请求并获取响应。以下是一个示例代码,可以帮助你实现链接检查器并获取HTTP错误码:

代码语言:txt
复制
<?php
function checkLink($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    return $httpCode;
}

$url = "https://example.com";
$httpCode = checkLink($url);

if ($httpCode == 200) {
    echo "Link is valid.";
} else {
    echo "Link is invalid. HTTP error code: " . $httpCode;
}
?>

在上述代码中,我们使用了curl库发送HTTP请求,并通过curl_getinfo函数获取到HTTP响应的状态码。如果状态码为200,则表示链接有效;否则,表示链接无效,并输出对应的HTTP错误码。

对于PHP编写的链接检查器,推荐使用腾讯云的云服务器(CVM)作为部署环境。腾讯云的云服务器提供稳定可靠的计算资源,适用于各种规模的应用场景。你可以通过以下链接了解更多关于腾讯云云服务器的信息:腾讯云云服务器产品介绍

同时,为了提高链接检查器的性能和可靠性,你还可以考虑使用腾讯云的负载均衡(CLB)和弹性伸缩(AS)服务。负载均衡可以将流量分发到多个后端服务器,提高系统的并发处理能力;弹性伸缩可以根据实际负载情况自动调整服务器数量,提供弹性的计算能力。你可以通过以下链接了解更多关于腾讯云负载均衡和弹性伸缩的信息:腾讯云负载均衡产品介绍腾讯云弹性伸缩产品介绍

总结:链接检查器是一种用于检测网站链接有效性的工具。通过使用PHP的curl库发送HTTP请求并获取响应,可以判断链接是否返回HTTP错误码。腾讯云的云服务器(CVM)是部署链接检查器的推荐选择,同时可以考虑使用负载均衡(CLB)和弹性伸缩(AS)来提高性能和可靠性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何处理WordPress网站404状态死链

什么是404状态码? 每当访客访浏览你的网站时,浏览器就会向Web服务器发送请求,并接收包括HTTP标头的数据。HTTP标头包含HTTP状态代码,用于解释请求“发生了什么”。...此外,404错误并不总是一件坏事– 仅在干扰可用性时才是。 例如,有时一个人可能只是在其地址栏中输入了错误的URL。在这种情况下,他们仍然会看到404错误,但网站的配置没有实际问题。...其他常见的变化包括: “Error 404” “404 Not Found” “HTTP Error 404” “Not Found” “Page Not Found” “The requested URL...“The page cannot be found” “We can’t find the page you’re looking for.”...Google浏览器的404报错通知页面 404报错通知页面还可能是个性化的,因为许多站点实际上会创建一个自定义404错误页面,而不是显示上面的消息之一。

5.6K10
  • 400错误请求什么意思_网页400错误怎么解决

    当发送到网站服务器的请求不正确或损坏,并且接收到该请求的服务器无法理解时,就会发生400错误请求错误。 有时,问题出在网站本身上,您对此无能为力。...当服务器无法理解对它的请求时,会发生400 Bad Request错误。 之所以称为400错误,是因为这是Web服务器用来描述这种错误的HTTP状态代码。...可能会发生400错误的请求错误,因为请求中有一个简单的错误。 也许您输入了错误的URL,并且服务器由于某种原因无法返回404错误。 也许您的Web浏览器正在尝试使用过期或无效的cookie 。...在某些情况下,某些未正确配置的服务器也可能引发400错误,而不是更多有用的错误。 例如,当您尝试上传对某些站点太大的文件时,可能会显示400错误,而不是让您知道最大文件大小的错误。...出现400错误的最常见原因是网址输入错误。 如果您自己在地址栏中输入了URL,则可能输入错误。 如果单击另一个网页上的链接并显示404错误,则也有可能在链接页面上键入了错误的链接。

    12.2K20

    Mirages主题帮助文档

    头像图片大小建议为 400*400。 我在用 Meting/APlayer/DPlayer/JWPlayer/其他 插件的时候不生效怎么回事?...另外,自动更新功能还有如下要求: 访问外网的功能 PHP 的 zip 模块 启用主题后没有显示主题的 404 页面 / 404 页面没有效果 / 404 页面还是以前的 / 404 页面还是默认的 出现这个原因是因为你的...主题首页大图 / 文章主图 / banner 无法加载,显示为黑色 建议检查一下图片链接是否正确,图片链接通常需要以 http:// 或 https:// 开头,且链接没有防盗链限制(从我博客复制的图片链接是会有防盗链的哦...归档页 归档页必须要创建,否则文章页的"返回文章列表"会出现404错误 新建一个独立页面,自定义模板选择 Archives 即可。...其中,shortcode 为短代码的名称,后面的列表中会提供,同一种样式可能会有一个或多个别名;例如短代码 hint 及 tip 其实是同一个短代码。

    11.1K20

    如何在CentOS 7上为Apache设置mod_rewrite

    没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...如果从地址栏中删除.html并重新加载页面,则会收到404 Not Found错误。Apache只能通过其完整文件名访问组件,但我们可以使用重写规则对其进行更改。...例如,用PHP编写的搜索结果页面的URL可能如下所示: http://example.com/results.php?...为此,我们将创建一个ErrorDocument规则,将404错误指向error.html页面: ErrorDocument 404 /error.html 这会将导致HTTP 404响应的任何请求重定向到...但是,事情并不总是按计划进行,当发生这种情况时,您可能会发现自己有重定向循环或模糊500 forbidden错误。有关调试这些情况的提示,请查看此StackOverflow帖子。

    6.5K00

    如何在Debian 9上使用mod_rewrite为Apache重写URL

    ://your_server_ip/about.html页面,但请注意,如果您尝试访问http://your_server_ip/about,则会看到404 Not Found错误。...使用&符号(&)分隔单独的参数。查询字符串可用于在各个应用程序页面之间传递附加数据。 例如,用PHP编写的搜索结果页面可能使用类似 http://example.com/results.php?...例如,假设您希望将所有请求重定向到您站点上不存在的文件或目录,并将其重定向到主页,而不是显示标准的404 Not Found错误页面。...-f是一个内置条件,它验证所请求的名称是否存在于磁盘上并且是一个文件。这!是一个否定运算符。合并后,仅当指定的名称不存在或不是文件时才计算!-f结果为true。...同样,仅当指定的名称不存在或不是目录时,计算!-d结果为true。 在最终线上的RewriteRule只有当为请求不存在的文件或目录时才生效。

    6.3K95

    如何使用Selenium WebDriver查找错误的链接?

    当您在网站上遇到404 /页面未找到/无效超链接时,会想到什么想法?啊!当您遇到损坏的超链接时,您会感到烦恼,这是为什么您应继续专注于消除Web产品(或网站)中损坏的链接的唯一原因。...您可以使用Selenium WebDriver来利用自动化进行錯誤的链接测试,而无需进行人工检查。 ? 当特定链接断开并且访问者登陆页面时,它将影响该页面的功能并导致不良的用户体验。...链接可能由于服务器问题而暂时断开,或者在后端配置不正确。 ? 除了导致404错误的页面外,断开链接的其他主要示例是格式错误的URL,指向已移动或删除的内容(例如,文档,pdf,图像等)的链接。...在检测到断开的链接时显示的HTTP状态代码 以下是网络服务器在遇到断开的链接时显示的一些常见HTTP状态代码: HTTP状态码 描述 400(错误请求) 服务器无法处理请求,因为提到的URL不正确。...400(错误请求-重置) 这表明服务器无法处理该请求,因为它正忙于处理其他请求或站点所有者对其进行了错误配置。 403(禁止) 真正的请求已发送到服务器,但由于需要授权,因此拒绝履行该请求。

    8.5K10

    使用 Nginx 容器为 Traefik 配置高性能通用错误页面

    使用 Nginx 容器为 Traefik 配置高性能通用错误页面 使用 Traefik 比较久的读者应该会发现,在服务重启的时候,原来的网站会展示 404 not found 的空白页面,虽然多数情况下服务恢复很快...,但是这个恢复时间取决于部署启动的应用和监控检查配置策略,如果没有配置流量切换规则,那么有的时候,会看到很久的空白页面,这样的体验显然不好。...编写模版生成脚本 官方容器中用于生成 nginx 配置的 “docker-entrypoint.d/20-envsubst-on-templates.sh” 脚本是这样编写的: #!...400 /400.html; error_page 401 /401.html; error_page 403 /403.html; error_page 404 /404.html...最后 [我使用的错误页面模版] 想要查看在线例子,可以访问:https://error.soulteary.com/,例子模版编写参考了 https://www.mantralabsglobal.com

    1.2K00

    对 WordPress 主题进行单元测试(Theme Unit Test)

    主题单元测试基础 导入官方 unit 测试数据 首先你需要在本地或者服务器上建立一个新的 WordPress 站点,用来进行主题的单元测试。安装方法跟普通的 WordPress 站点一样。...设置 => 多媒体:取消固定的最大最小宽高,这样可以测试不固定尺寸图片在文章中的显示效果。 设置 => 固定链接:设置一个非默认的固定链接,检测固定链接的功能。...测试基础准则如下: 可以正确的显示文章,没有明显的问题和错误 按照正确的顺序排序文章 正确的按照后台设置的每页显示文章数显示文章的数目 正确的显示文章分页并且工作正常 调试器不会返回任何的 PHP 错误...(通过 后台 => 设置 => 阅读 设置),你可以按照如下准则测试: 静态首页显示正常 博客文章索引页面显示正常 404 页面测试 404 页面显示正常,设计要有人性化 除了纯粹的“404 错误”等文字之外...当文章接收到 Trackbacks 的时候,需要和评论区分开,同时显示正常不错位 页面(Page)测试 页面测试通过观察官方测试数据中的页面即可,通常使用 page.php 文件作为模板。

    2.4K10

    使用 Nginx 容器为 Traefik 配置高性能通用错误页面

    使用 Nginx 容器为 Traefik 配置高性能通用错误页面 使用 Traefik 比较久的读者应该会发现,在服务重启的时候,原来的网站会展示 404 not found 的空白页面,虽然多数情况下服务恢复很快...,但是这个恢复时间取决于部署启动的应用和监控检查配置策略,如果没有配置流量切换规则,那么有的时候,会看到很久的空白页面,这样的体验显然不好。...400 /400.html; error_page 401 /401.html; error_page 403 /403.html; error_page 404 /404.html...我使用的错误页面模版 想要查看在线例子,可以访问:https://error.soulteary.com/,例子模版编写参考了 https://www.mantralabsglobal.com/404...--EOF ---- 我现在有一个小小的折腾群,里面聚集了一些喜欢折腾的小伙伴。

    1.2K20

    web漏洞 | XSS(跨站攻击脚本)详解

    XSS分为:存储型 、反射型 、DOM型XSS 存储型XSS:存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中...Tom 发现 Bob的站点存在反射性的XSS漏洞 Tom 利用Bob网站的反射型XSS漏洞编写了一个exp,做成链接的形式,并利用各种手段诱使Alice点击 Alice在登录到Bob的站点后,浏览了 Tom...> 这里有一个用户提交的页面,数据提交给后端之后,后端存储在数据库中。然后当其他用户访问另一个页面的时候,后端调出该数据,显示给另一个用户,XSS代码就被执行了。...提交了之后,我们看看数据库 可以看到,我们的XSS语句已经插入到数据库中了 然后当其他用户访问 show2.php 页面时,我们插入的XSS代码就执行了。...我们还可以服务端设置会话Cookie的HTTP Only属性,这样,客户端的JS脚本就不能获取Cookie信息了 反射型XSS的利用姿势 我们现在发现一个网站存在反射型XSS,当用户登录该网站时,我们通过诱使用户点击我们精心制作的恶意链接

    5.2K20

    如何解决常见的 HTTP 错误代码

    服务器错误,或从 500 到 599 的 HTTP 状态代码,当 Web 服务器知道发生了错误或无法处理请求时,它会返回。...400 错误请求 400 状态代码或错误请求 错误表示发送到服务器的 HTTP 请求的语法无效。...如果您希望启用目录列表,您可以在您的 Web 服务器配置中这样做。 404 未找到 404 状态代码或Not Found 错误意味着用户能够与服务器通信,但无法定位请求的文件或资源。...404 错误可能发生在多种情况下。如果用户意外收到 404 Not Found 错误,请在排除故障时询问以下问题: 将用户定向到您的服务器资源的链接是否有印刷错误? 用户是否输入了错误的 URL?...此错误的最常见原因是服务器配置错误(例如格式错误的 .htaccess文件)或缺少包(例如,在没有正确安装 PHP 的情况下尝试执行 PHP 文件)。

    4.8K20

    emlog pro 模板 API 大字典

    模板中,博客某个页面的页面显示页(这个后台有设置,用户也可用其他文件显示,比如 page1.php,但 page.php 是默认,必须有) 404.php 404 页面 preview.jpg 模板在后台...post=400 (400 是一个不存在的文章 ID) 系统输出 404.php 显示「密码输入」模式 如访问 http://127.0.0.1/?...} } 至于 「404」模式和「密码输入」模式,这个轮不到 header.php 判断,emlog pro 系统会直接只输出 404.php 或 pw.php(或默认的密码输入界面)。...有这方面需求,建议使用系统面板中的页面来搞定,如果没有,像其他一样,使用 GET 协议来搞定。 假定我们使用 GET,我们访问的链接是 http://127.0.0.1/?...> http://127.0.0.1 可用于引入站点的浏览器图标等 站点模板的 URL <?= TEMPLATE_URL ?

    83220

    Flask 学习-69.捕获异常钩子函数errorhandler

    ", "msg": "请求参数不合法" } 处理 在处理请求时,当 Flask 捕捉到一个异常时,它首先根据代码检索。如果该代码没 有注册处理器,它会根据类的继承来查找,确定最合适的注册处理器。...如果找不到已 注册的处理器,那么 HTTPException 子类会显示 一个关于代码的通用消息。没有代码的异常会被转化为一个通用的 500 内部服务器 错误。...当一个蓝图在处理抛出异常的请求时,在蓝图中注册的出错处理器优先于在应用中全 局注册的出错处理器。 但是,蓝图无法处理 404 路由错误,因为 404 发生的路由级 别还不能检测到蓝图。...通用异常处理器 可以为非常通用的基类注册异常处理器,例如 HTTPException 基类或者甚至 Exception 基类。但是,请注意,这样会捕捉到超出你预期的异常。...未处理的异常 500 当一个异常发生时,如果没有对应的异常处理器,那么就会返回一个 500 内部服务错误。关于此行为的更多内容参见 flask.Flask.handle_exception() 。

    1.8K20

    使用HTTP 404-File Not Found的C2

    大多数的安全工程师或普通人都会像我一样,在浏览网络时, 通常会忽略或跳过HTTP 404.在检测流量时,都会是主要是在寻找流量中的异常情况,例如流量流向Internet上的奇怪地方或其他类似性质的东西,...作为攻击者,此Web服务器可以是他们自己的服务器或他们控制的Web服务器,也可以是他们具有“访问权”的服务器(肉鸡).设置站点并设置HTTP 404 – File NotFound 后 ,我们继续进行第二部分...打开网站,你可以看到的是我们做的Office 365登录页面. ? 如果一旦我转到一个不存在的页面,我应该会收到404错误. ? 我们看到源码中没有任何注释,只有一个基本网页. ?...下面,我将创建一个文件,列出内容,然后显示404页和该页的源代码. 在C2服务器上,我能够运行命令,所以我使用PowerShell命令并在当前目录(桌面)中. 创建了一个空文件 ?...-404-page-not-found-c2/ 翻译:李木

    1.1K21

    flask 应用程序编程接口(API)最后一节

    表示用户集合 例如使用客户请求用户或粉丝列表时使用的格式。...对象查询的get_or_404()方法的英文以前见过的get()方法的一个非常有用的变行业释义体育,如果用户存在,报道查看它定给id的对象,当ID不存在时,它会中止请求并向客户端返回一个404错误,而不是返回...,我通过URL收到一个动态的用户id,所以我可以加载指定的用户或返回404错误(如果发现)。...第二个复杂因素是客户端可能提供与目前绝对相同的值,所以在检查用户名或电子邮件是否被采用之前,我需要确保其与当前的不同。如果任何验证检查失败,那么我会像之前一样返回400错误给客户端。...带令牌的请求 当你编写一个API时,你必须考虑到你的客户端并不总是要连接到Web应用程序的Web浏览器。

    5.7K10

    Nginx之error_page模块解读

    ----error_page的概念error_page是nginx一个重要的指令,作用是定制化服务器错误页面。...配置小提示注意 error_page 配置时加 = 和不加 = 的区别,加了 = 表示响应为指定的 http status code ,默认为 200,不加 = 为原错误的状态码~# 这样可以访问错误页面时...http status 为 404 ,并且页面内容是 404.html 的内容error_page 404 /404.htmlerror_page 404 500 /404.html;# 这样配置访问错误页面时...http status 为 200 ,但页面内容是 404.html 的内容error_page 404 500 = /404.html;# 这样配置访问错误页面时 http status 为 404...error_page 404 = /404.php 如果是动态404错误页面,包含 header 代码(例如301跳转),加等号配置可以正常执行,返回php中定义的状态码。

    4K61

    如何为Nginx设置404页面?

    开始之前 这篇文章发布于2013年,介绍如何为nginx设置一个404页面,当客户端试图访问一个并不存在的资源时,nginx会返回代码为404的错误信息"404 Not Found",这个错误信息非常简陋并且不是很友好...404 =200 /empty.gif; error_page 404 =403 /forbidden.gif; 另外还可以使用等号(=)指定你自己编写的错误处理程序返回相应的响应代码: error_page...404 = /404.php; 如果在重定向时不需要改变URI,可以将错误页面重定向到一个命名的location字段中: location / ( error_page 404 @fallback...; ) location @fallback ( proxy_pass http://backend; ) FastCGI服务器 ---- 需要注意的是,对于FastCGI上游服务器来说它会返回自己的错误信息...,如图中的php-fpm会抛出"File not found."。

    6.7K10

    Apache之Rewrite和RewriteRule规则梳理以及http强转https的配置总结(完整版)

    2) Substitution是当原始URL与Pattern相匹配时,用来替代(或替换)的字符串。...你必须确保此替换串是一个能够被mod_proxy处理的有效URI(比如以http://hostname开头),否则将得到一个代理模块返回的错误。.../404.php [L] 这里-f匹配的是存在的文件名,-d匹配的存在的路径名。这段代码在进行404重定向之前,会判断你的文件名以及路径名是否存在。你还可以在404页面上加一个?...(.*)$ /404.php?url=$1 [L] 这样,你的404页面就可以做一些其他的事情,例如默认信心,发一个邮件提醒,加一个搜索,等等。...(比如index.php?)。符号“?”不会在浏览器的地址栏里显示。 11) 用新的格式展示当前URI  如果这就是我们当前正在运行的URLs:/index.php?id=nnnn。

    33.3K51

    Fail2Ban 使用技巧和心得汇总

    下面明月就结合一个实际的案例给大家具体的讲解一下: 如果经常分析 Nginx 站点日志的话,很多站长朋友们应该都会发现,站点经常收到很多返回码是 404 的请求,如下图所示: ?...aid=8080 //utility/convert/data/config.inc.php 像上述这些目录和文件的请求,很明显我们的站点根本就没有这些目录或者文件,这样的请求自然是返回 404 的,看似都是些很...“正常”的无效访问而已,不过,仔细分析日志以及过往日志后就发现类似这种返回 404 结果的请求,就明月这样“严防死守”的服务器每天几乎都在 300-500 个之多。...[nginxno404] #处理 nginx 下的恶意 404 结果扫描 enabled = true port = http,https filter = nginx-not-found action...= iptables[name=nginxno404, port=http, protocol=tcp] #Fail2Ban 要监控的站点日志文件,大家可以根据自己站点来灵活调整。

    4.4K00
    领券