PHP 批量检测网站是否正常打开

本文介绍如何使用PHP的cURL函数获取指定URL的HTTP状态码,通过一个具体示例展示了如何设置cURL选项来完成请求,并解释了返回值的意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为。

 

<meta charset="utf-8">
<?php 
//设置最大执行时间是 120秒
ini_set('max_execution_time',120);
function httpcode($url){
	$ch = curl_init();
	$timeout = 3;
	curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch, CURLOPT_HEADER, 1);
	curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_exec($ch);
	$httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE);
	curl_close($ch); 
	return $httpcode;
}
$check_web = array('http://demo1.onestopweb.cn/','http://demo2.onestopweb.cn/', 'http://demo3.onestopweb.cn/','http://demo1.chaoyi.cn/','http://www.onestopweb.cn/',);
for($i=0;$i<count($check_web);$i++){
	echo $check_web[$i].' -> '.httpcode($check_web[$i]).'<br>';
}
?>
使用方法:如果显示为200则正常,如果显示其它值表示不正常;$timeout后面的3是设置超时秒数。

 

效果图:

 

 

### 批量检测URL是否正常访问 为了有效地批量检测多个URL是否正常访问,Python提供了一种强大而灵活的方式。下面是一个基于`requests`库的解决方案[^1]: ```python import requests from bs4 import BeautifulSoup def check_url_accessibility(url_list): results = [] for url in url_list: try: response = requests.get(url, timeout=5) status_code = response.status_code title = '' if status_code == 200: soup = BeautifulSoup(response.text, 'html.parser') title_tag = soup.find('title') title = title_tag.string.strip() if title_tag else 'No Title Found' result = { 'url': url, 'status_code': status_code, 'is_accessible': True if status_code == 200 else False, 'page_title': title } except Exception as e: result = { 'url': url, 'error_message': str(e), 'is_accessible': False, 'page_title': None } finally: results.append(result) return results if __name__ == '__main__': urls_to_check = [ "http://www.example.com", "https://nonexistentwebsite.xyz", # 这个网址可能不存在用于测试错误处理 "http://www.google.com" ] accessibility_results = check_url_accessibility(urls_to_check) for res in accessibility_results: print(f"Checking {res['url']}: Accessible={res['is_accessible']} Status Code={res.get('status_code', '-')}, Page Title='{res.get('page_title', '')}' Error Message='{res.get('error_message', '-')}.'") ``` 此代码片段展示了如何利用Python中的`requests`库发送HTTP请求并解析响应头信息以确定网页是否成功加载(即返回码为200),同时也尝试提取页面<title>标签内的文本作为额外验证依据。 对于Shell脚本爱好者来说,也可以采用简单的curl命令配合awk等工具完成相似功能[^2];而在PHP环境中,则可以通过内置函数file_get_contents或者cURL扩展来实现类似逻辑,并借助正则表达式匹配HTML源码中的<title>部分[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值