首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

get_meta_tags http请求失败403禁止

get_meta_tags 是 PHP 中的一个函数,用于从指定的网页中提取元标签信息。当使用这个函数时,如果遇到 HTTP 请求失败并返回 403 错误(禁止访问),这通常意味着服务器拒绝了你的请求。以下是一些可能的原因和解决方法:

基础概念

  • HTTP 403 错误:这是一个服务器端错误,表示服务器理解请求但拒绝执行它。
  • 元标签:HTML 文档中的 <meta> 标签,通常用于定义页面的描述、关键词等信息。

可能的原因

  1. 权限问题:目标网页可能设置了访问权限,不允许外部脚本抓取内容。
  2. robots.txt 文件:网站可能通过 robots.txt 文件指示搜索引擎和其他网络爬虫不要访问某些页面。
  3. IP 被封禁:频繁的请求可能导致你的 IP 地址被目标网站封禁。
  4. User-Agent 设置:服务器可能根据请求头中的 User-Agent 字段来判断是否允许访问。

解决方法

  1. 检查 robots.txt: 访问 http://example.com/robots.txt 查看是否有禁止抓取的规则。
  2. 设置合适的 User-Agent: 在请求头中设置一个常见的浏览器 User-Agent,模拟正常用户访问。
  3. 设置合适的 User-Agent: 在请求头中设置一个常见的浏览器 User-Agent,模拟正常用户访问。
  4. 使用代理服务器: 如果 IP 被封禁,可以尝试通过代理服务器发送请求。
  5. 使用代理服务器: 如果 IP 被封禁,可以尝试通过代理服务器发送请求。
  6. 遵守网站规则: 确保你的抓取行为符合目标网站的 robots.txt 规则和相关法律法规。

应用场景

  • SEO 分析:分析竞争对手的网页元标签,优化自己的网站。
  • 内容抓取:自动化获取网页信息用于数据分析或其他应用。

示例代码

以下是一个完整的示例,展示了如何使用 get_meta_tags 函数并设置 User-Agent:

代码语言:txt
复制
<?php
$url = 'http://example.com';
$options = array(
    'http' => array(
        'header'  => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3\r\n"
    )
);
$context  = stream_context_create($options);
$tags = get_meta_tags($url, false, $context);

print_r($tags);
?>

通过以上方法,你应该能够解决 get_meta_tags 函数返回 403 错误的问题。如果问题依然存在,建议进一步检查目标网站的具体限制和规则。

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

相关·内容

H5 Http请求403 - Referrer Policy

403错误     表示资源不可用。服务器理解客户的请求,但拒绝处理它,通常由于服务器上文件或目录 的权限设置导致的WEB访问错误。...遇到的情况:当访问 CDN 或者 第三方资源的时候,经常会出现 403,例如: 解决方案:     当用户在浏览器上点击一个链接时...,会产生一个 HTTP 请求,用于获取新的页面内容,而在该请求的报头中,会包含一个 Referrer,用以指定该请求是从哪个页面跳转页来的,常被用于分析用户来源等信息。...https地址),发送referer,但当请求方低于发送方(例如https页面请求http地址),不发送referer origin //仅仅发送origin,即protocal+host origin-when-cross-origin...注意:这种情况下,如果当前页面使用了 https 协议,而要加载的资源使用的是 http 协议,加载资源的请求头中也会携带 referer。

1.3K10
  • 【译】HTTP错误码403禁止:意味着什么,怎么修复它

    但是有种更令人困惑的403错误:禁止响应。 403意味着什么? 简单来说:当你发起请求的时候,服务端决定了你没有权限访问。...根据RFC 7231: 403(禁止)状态码表明服务端已经明白请求,但是拒绝授权...如果请求中提供了授权的身份认证,服务端认为它们不足以授予访问权限。...403响应是属于客户端错误4xx范围的HTTP响应。这意味着你或者你的浏览器做错了什么。...作为一个令人绝望的举动,你还可以尝试禁止可能会干扰你使用网站的浏览器扩展插件。但是,这不太可能,因为403表明你已经通过身份验证,但是未获得授权。...你可以通过http.cat站点来反省一下,为什么你的原始请求会被禁止 后话 原文:www.freecodecamp.org/news/http-e… 文章首发:github.com/reng99/blog

    30.8K20

    http错误码对照表

    403 禁止 — 即使有授权也不需要访问。 404 找不到 — 服务器找不到给定的资源;文档不存在。 407 代理认证请求 — 客户机首先必须使用代理认证自身。...————————————————————————————— HTTP 400 – 请求无效 HTTP 401.1 – 未授权:登录失败 HTTP 401.2 – 未授权:服务器配置问题导致登录失败 HTTP...401.3 – ACL 禁止访问资源 HTTP 401.4 – 未授权:授权被筛选器拒绝 HTTP 401.5 – 未授权:ISAPI 或 CGI 授权失败 HTTP 403 – 禁止访问 HTTP...403 – 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost HTTP 403.1 禁止访问:禁止可执行访问 HTTP 403.2 – 禁止访问:禁止读访问 HTTP 403.3...HTTP 405 – 资源被禁止 HTTP 406 – 无法接受 HTTP 407 – 要求代理身份验证 HTTP 410 – 永远不可用 HTTP 412 – 先决条件失败 HTTP 414 – 请求

    2.4K70

    网页错误码详细报错

    重点内容 HTTP 400 - 请求无效  HTTP 401.1 - 未授权:登录失败  HTTP 401.2 - 未授权:服务器配置问题导致登录失败  HTTP 401.3 - ACL 禁止访问资源 ...HTTP 401.4 - 未授权:授权被筛选器拒绝  HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败  HTTP 403 - 禁止访问  HTTP 403 - 对 Internet...405 - 资源被禁止  HTTP 406 - 无法接受  HTTP 407 - 要求代理身份验证  HTTP 410 - 永远不可用  HTTP 412 - 先决条件失败  HTTP 414 - 请求...• 403 - 禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因:  • 403.1 - 执行访问被禁止。  • 403.2 - 读访问被禁止。 ...如果没有安装证书的 Web 站点出现此错误,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:224389 错误信息:HTTP 错误 403、403.4、403.5 禁止访问:要求 SSL

    5.6K20

    【网页】HTTP错误汇总(404、302、200……)

    原贴:http://blog.sina.com.cn/s/blog_68158ebf0100wr7z.html HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP...401.2 - 未授权:服务器配置问题导致登录失败 HTTP 401.3 - ACL 禁止访问资源 HTTP 401.4 - 未授权:授权被筛选器拒绝 HTTP 401.5 - 未授权:ISAPI...或 CGI 授权失败 HTTP 403 - 禁止访问 HTTP 403 - 对 Internet 服务管理器 的访问仅限于 Localhost HTTP 403.1 禁止访问:禁止可执行访问 HTTP...410 - 永远不可用 HTTP 412 - 先决条件失败 HTTP 414 - 请求 - URI 太长 HTTP 500 - 内部服务器错误 HTTP 500.100 - 内部服务器错误 -...• 403 - 禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因: • 403.1 - 执行访问被禁止。 • 403.2 - 读访问被禁止。

    12.1K20

    HTTP状态码最全汇总(不求人宝典)

    状态码含义中文说明 400 400 Bad Request 请求错误,通常是访问的域名未绑定引起 401 401 Unauthorized 需要身份认证验证 401.1 **** 未授权:登录失败 401.2...**** 未授权:服务器配置问题导致登录失败 401.3 **** ACL 禁止访问资源 401.4 **** 未授权:授权被筛选器拒绝 401.5 **** 未授权:ISAPI 或 CGI 授权失败...这个错误代码为 IIS 6.0 所专用 402 402 Payment Required - 403 403 Forbidden 禁止访问 403 **** 对 Internet 服务管理器 的访问仅限于...:客户证书已被吊销 403.14 **** 禁止访问:客户访问许可过多 403.15 **** 禁止访问:客户证书不可信或者无效 403.16 **** 禁止访问:客户证书已经到期或者尚未生效 HTTP...424 424 Failed Dependency 当前请求失败 425 425 Unordered Collection 未知 426 426 Upgrade Required 请切换到TLS/1.0

    1.2K20

    33. Flask实现BasicAuth基础认证以及DigestAuth摘要认证

    在前后端分离的开发中,我们一般会基于 REST 的规则设计 API,而单纯的 HTTP 请求是无状态的,要求浏览器客户端在每一次请求都要提供认证的信息,那么怎么去便利地让 HTTP 提供认证呢?...) # 403 禁止 if __name__ == '__main__': app.run() 启动服务后,使用POSTMAN测试如下: 认证成功 image-20200918152426433...认证失败 image-20200918152444962 使用 Curl 的方式测试如下: 认证成功 [root@dev ~]# curl -u john:hello -i http://127.0.0.1...[root@dev ~]# 认证失败 [root@dev ~]# curl -u jo:hello -i http://127.0.0.1:5000/ HTTP/1.0 403 FORBIDDEN Content-Type...) # 403 禁止 if __name__ == '__main__': app.run(host="0.0.0.0", port="5000", debug=True) 启动服务后,使用

    1.9K20

    网站服务器错误代码介绍

    最常见的错误: 404–找不到文件或者目录不存在 403–找不到默认首页 505–服务器内部错误 信息提示(这些状态代码表示临时的响应。...401.5–ISAPI/CGI应用程序授权失败 401.7–访问被Web服务器上的URL授权策略拒绝(这个错误代码为IIS6.0所专用) 403–禁止访问(IIS定义了许多不同的403错误,它们指明更为具体的错误原因...) 403.1–执行访问被禁止 403.2–读访问被禁止 403.3–写访问被禁止 403.4–要求SSL 403.5–要求SSL128 403.6–IP地址被拒绝 403.7–要求客户端证书...映射策略阻止本请求 405–用来访问本页面的HTTP谓词不被允许(方法不被允许) 406–客户端浏览器不接受所请求页面的MIME类型 407–要求进行代理身份验证 412–前提条件失去 413...–请求实体太大 414–请求URI太长 415–不支持的媒体类型 416–所请求的范围无法满足 417–执行失败 423–锁定的错误 服务器错误(服务器由于遇到错误而不能完成该请求) 500–

    3K40

    网页服务器HTTP响应状态-HTTP状态码

    HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码。...这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示: 401.1-登录失败。 401.2-服务器配置导致登录失败。 401.3-由于 ACL 对资源的限制而未获得授权。...403-禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因: 403.1-执行访问被禁止。 403.2-读访问被禁止。 403.3-写访问被禁止。...405-用来访问本页面的 HTTP 谓词不被允许(方法不被允许) 406-客户端浏览器不接受所请求页面的 MIME 类型。 407-要求进行代理身份验证。 412-前提条件失败。...413–请求实体太大。 414-请求 URI 太长。 415–不支持的媒体类型。 416–所请求的范围无法满足。 417–执行失败。 423–锁定的错误。

    6.1K20

    PHP 获取网页标题(title)、描述(description)、关键字(keywords)等meta信息

    PHP 内置函数 get_meta_tags 12 $meta_array = get_meta_tags('https://mimvp.com');var_dump($meta_array); 运行结果...=xxx"); $meta_array = get_meta_tags('http://www.qq.com');var_dump($meta_array); 注意:charset=xxx 表示让浏览器自动适配正确的编码...CURLOPT_RETURNTRANSFER, 1);        // 字符串返回    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    // https请求...把 content 属性关联到 HTTP 头部。...本文分析了抓取网页遇到的多种问题,并给出了一个比较完善的匹配解决方案, 本文基本可解决90%的网页匹配问题,余下的10%问题,在项目中遇到了就去逐步解决 例如,有些网站禁止了curl、wget爬虫,也有的强制需要

    4.4K60

    常见状态码

    HTTP 状态码 1xx:指示信息–表示请求已接收,继续处理 2xx:成功–表示请求已被成功接收、理解、接受 3xx:重定向–要完成请求必须进行更进一步的操作 4xx:客户端错误–请求有语法错误或请求无法实现...未授权 验证失败,详细的错误信息会说明原因 403 服务器拒绝请求 被拒绝调用,详细的错误信息会说明原因 404 未找到 服务器找不到请求的地址 405 方法禁用 群容量超出上限,禁止调用...23409 已被踢出并禁止加入聊天室。 23410 聊天室不存在。 23412 聊天室接口参数无效。 23414 聊天室云存储业务未开通。 24012 通话鉴权失败。...30004 导航 HTTP 发送失败。如果是偶尔出现此错误,SDK 会做好自动重连,开发者无须处理。对于 iOS 平台,如果一直连接不上,应该是您没有设置好 ATS。...ATS 默认只使用 HTTPS 协议,当 HTTP 协议被禁止时 SDK 会一直 30004 错误。您可以在我们 iOS 开发文档中搜索到 ATS 设置。 30007 导航 HTTP 请求失败。

    2.3K30

    HTTP错误代码大全

    请记录试图访问的完整地址,并与 Web服务器的管理员联系以确认您是否具有访问所请求资源的权限 HTTP 错误 403 403.1 禁止:禁止执行访问 如果从并不允许执行程序的目录中执行 CGI、ISAPI...HTTP 错误 412 412 前提条件失败 在服务器上测试前提条件时,部分请求标题字段中所给定的前提条件估计为FALSE。...请记录试图访问的完整地址,并与 Web服务器的管理员联系以确认您是否具有访问所请求资源的权限 HTTP 错误 403 403.1 禁止:禁止执行访问 如果从并不允许执行程序的目录中执行 CGI、ISAPI...HTTP 错误 412 412 前提条件失败 在服务器上测试前提条件时,部分请求标题字段中所给定的前提条件估计为FALSE。...请记录试图访问的完整地址,并与 Web服务器的管理员联系以确认您是否具有访问所请求资源的权限 HTTP 错误 403 403.1 禁止:禁止执行访问 如果从并不允许执行程序的目录中执行 CGI、ISAPI

    3.1K20

    Spring Security 实战干货: 401和403状态

    当认证失败后交给了AuthenticationFailureHandler来进行失败后的逻辑处理。...当客户端收到401状态码时,表明了该请求因为缺乏了被信任的认证凭据而被拒绝访问目标资源。 如果用户在请求中携带了认证凭据,那么401响应表明该凭据是未授信的,不能访问目标资源。...3. 403 禁止访问 表述参见RFC 7231[2]。403状态代码表示服务器已理解了客户端的请求,但拒绝授权。如果请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限。...客户端不应自动携带相同的重复证书再次请求。但是,出于某些原因,请求可能被禁止与凭据无关。如果服务器认为这些反馈信息比较敏感,可以用404来代替。 4....仅仅当登录认证失败返回了401,其它情况的这两种异常都返回了403。 ? Spring Security异常处理体系 默认情况下他们都会被转发到异常页面。

    3.6K30

    Http状态码分析

    开发过程中经常需要与后台配合调试接口,在调试过程中后台会返回一些Http状态码,程序员可以通过状态码分析接口是否调通以及如果失败问题在哪。...HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未授权:服务器配置问题导致登录失败 HTTP 401.3 - ACL 禁止访问资源 HTTP 401.4 - 未授权:授权被筛选器拒绝...HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败 403 (禁止) 服务器拒绝请求。...HTTP 403.1 - 禁止访问:禁止可执行访问 HTTP 403.2 - 禁止访问:禁止读访问 HTTP 403.3 - 禁止访问:禁止写访问 HTTP 403.4 - 禁止访问:要求 SSL HTTP...HTTP 403.9 - 禁止访问:连接的用户过多 HTTP 403.10 - 禁止访问:配置无效 HTTP 403.11 - 禁止访问:密码更改 HTTP 403.12 - 禁止访问:映射器拒绝访问

    1.2K30
    领券