我正在开发一个PHP应用程序,它将遍历URL列表,检查链接是否有效。我实现这一点的方法是使用php函数file_get_contents打开URL。然后,我在页面源中搜索某个字符串值,以确定链接是好还是坏。因此,在测试应用程序时,在一天结束时,每当我尝试检查此网站上的URL时,我都会收到此消息:
无法打开流:HTTP请求失败! HTTP / 1.1 403禁止......
该消息有点长,包含有关我的代码位置的信息,但这部分是突出我的部分。我想也许公司路由器/防火墙认为我试图根据我一直在使用谷歌搜索垃圾邮件/攻击它们。我想知道我是否会在某个永久性的“黑名单”或类似的东西上,我怎么知道?我并没有想做任何坏事。实际上,我正在做的事情会帮助这家公司,因为我正在做一些有助于产生销售的事情。全部事故:-)我打算稍后给公司打电话询问他们。
答案 0 :(得分:3)
许多网站阻止来自无法识别自己的用户代理的访问。正确地介绍自己,你可能会得到更好的服务。
ini_set('user_agent', "CharlesUserAgent1.0"); // Anything usually should do as long as it's not blank
编辑:您可能还想查看cURL,它在发出HTTP请求方面比PHP的内置URL fopen包装器做得更好。
答案 1 :(得分:0)
手动浏览网址,看看是否收到同样的错误