0
点赞
收藏
分享

微信扫一扫

单元测试数据库回滚问题

这段PHP代码用于检测指定域名列表中的域名是否被封。代码首先定义了一个包含待检测域名的数组 `$domainList`,然后遍历该数组,对每个域名发送HTTP请求并检查响应内容以判断域名是否被封。

具体步骤如下:
1. 定义待检测的域名列表。
2. 遍历域名列表,构建带有域名参数的URL。
3. 使用cURL库发送HTTP请求,并设置相关参数,如设置超时时间、禁止SSL验证等。
4. 获取HTTP响应内容和HTTP状态码。
5. 根据响应内容判断域名是否被封,如果响应内容中包含"域名被封"则表示域名被封,否则为正常。

需要注意的是,该代码中存在一些问题:
- URL中的域名参数没有进行URL编码,可能导致某些特殊字符引起错误。
- 代码中未对HTTP请求返回的状态码进行详细处理,仅简单判断是否包含特定字符串。
- 用户代理信息固定,不够随机化,可能导致检测被识别为爬虫行为。
- 禁止SSL验证可能存在安全风险,建议进行合适的SSL证书验证。
- 输出结果使用了 `<br>` 标签,建议在命令行环境或者其他适合的环境测试。

<?php

// 填入待检测的域名列表
$domainList = array(
    'https://hs.jiaaisiwl.cn/ ',
    'google.com',
    'baidu.com',
);

// 遍历域名列表进行检测
foreach ($domainList as $domain) {
    $url = "https://down.ychengsnsm.com/wx/?url={$domain}";

    // 发送 HTTP 请求
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
        CURLOPT_SSL_VERIFYPEER => false,
    ));
    $response = curl_exec($curl);
    $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    curl_close($curl);

    // 解析响应结果
    if (strpos($response, '域名被封') === false) {
        // 检测域名正常
        echo "域名 {$domain} 正常\n";
        echo "</br>";
    } else {
        // 检测域名被封
        echo "域名 {$domain} 被封\n";
        echo "</br>";
    }
}
?>

举报

相关推荐

0 条评论