PHP get_headers() 替代方案
我需要一个 PHP 脚本来读取每个 URL 请求的 HTTP 响应代码。
类似的
$headers = get_headers($theURL);
return substr($headers[0], 9, 3);
问题是 get_headers() 函数作为一项策略在服务器级别被禁用。所以它不起作用。
问题是如何获取 URL 的 HTTP 响应代码?
I need a PHP script that reads the HTTP response code for each URL request.
something like
$headers = get_headers($theURL);
return substr($headers[0], 9, 3);
The problem is the get_headers() function is disabled at server level, as a policy.So it doesn't work.
The question is how to get the HTTP response code for a URL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果启用了 cURL,您可以使用它来获取整个标头或仅获取响应代码。以下代码将响应代码分配给
$response_code
变量:要获取整个标头,您可以发出 HEAD 请求,如下所示:
If cURL is enabled, you can use it to get the whole header or just the response code. The following code assigns the response code to the
$response_code
variable:To get the whole header you can issue a HEAD request, like this:
如果可以,请使用 HttpRequest: https://www.php.net/manual/ en/class.httprequest.php
或者用困难的方法:https://www.php.net/manual/en/function.fsockopen.php
Curl 可能也是一个不错的选择,但最好的选择是击败你的管理员;)
Use HttpRequest if you can: https://www.php.net/manual/en/class.httprequest.php
Or do it the hard way: https://www.php.net/manual/en/function.fsockopen.php
Curl may be also a good option, but the best option is to beat your admin ;)
您可以使用 fsockopen 和常规文件操作构建和读取自己的 HTTP 查询。查看我之前对此主题的回答:
除了 CURL 之外,Rest 客户端还有其他选择吗?
You can build and read your own HTTP queries with fsockopen and regular file operations. Check out my earlier answer on this topic:
Are there any other options for rest clients besides CURL?