编辑代码

<!DOCTYPE html>
<html>
<head>
    <title>模拟多IP访问</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<?php
$successCount = 0; // 成功访问次数
if (isset($_POST['submit'])) {
    $targetUrl = $_POST['target_url'];
 
    // 获取代理IP
    $secret = '7769e66bfd6380a24a498b9ad0b2e76d';
    $orderNo = 'BGL2023090416281184NfM0YQ';
    $count = 10; // 获取10个代理IP
    $isTxt = 1;
    $proxyType = 1;
 
    $proxyUrl = "http://route.xiongmaodaili.com/xiongmao-web/api/bgl?secret=$secret&orderNo=$orderNo&count=$count&isTxt=$isTxt&proxyType=$proxyType";
    $proxyResponse = file_get_contents($proxyUrl);
    if ($proxyResponse !== false) {
        $proxyList = explode("\r\n", $proxyResponse);
        foreach ($proxyList as $proxy) {
            $options = array(
                'http' => array(
                    'proxy' => 'tcp://' . $proxy,
                    'request_fulluri' => true,
                    'timeout' => 10, // 设置超时时间,单位为秒
                )
            );
            $context = stream_context_create($options);
            $result = @file_get_contents($targetUrl, false, $context);
 
            if ($result === false) {
                echo "<script>showResult('使用代理IP $proxy 请求超时');</script>";
            } else {
                echo "<script>showResult('使用代理IP $proxy 请求成功');</script>";
                $successCount++;
            }
 
            // 将成功访问次数发送到客户端
            echo "<script>showSuccessCount($successCount);</script>";
            // 刷新页面以便立即显示结果
            echo "<script>refreshPage();</script>";
            // 刷新输出缓冲区
            flush();
            ob_flush();
            // 等待一段时间,以便观察结果
            usleep(500000);
        }
    } else {
        echo "<script>showResult('无法获取代理IP列表');</script>";
    }
}
?>
<body>
    <h1>模拟多IP访问</h1>
    <form method="post">
        <label for="target_url">目标URL:</label>
        <input type="text" id="target_url" name="target_url" required>
        <button type="submit" name="submit">发送请求</button>
        <p>访问成功次数:<span id="success_count"><?php echo $successCount; ?></span></p>
    </form>
 
    <div id="results"></div>
 
    <script>
        function showResult(result) {
            $('#results').append('<p>' + result + '</p>');
        }
 
        function showSuccessCount(count) {
            $('#success_count').text(count);
        }
 
        function refreshPage() {
            location.reload();
        }
    </script>
</body>
</html>