以下是一个简单的 PHP Web 代理脚本:
<?php // 目标 URL $targetUrl = 'https://example.com'; // 检查 URL 是否为 HTTP 或 HTTPS if (!preg_match('/^https?:\/\//i', $targetUrl)) { header('HTTP/1.1 400 Bad Request'); echo 'Error: Invalid URL'; exit; } // 获取请求方法 $requestMethod = $_SERVER['REQUEST_METHOD']; // 构建目标 URL $targetUrl .= $_SERVER['REQUEST_URI']; // 获取请求头 $requestHeaders = array(); foreach (getallheaders() as $name => $value) { $requestHeaders[$name] = $value; } // 创建 CURL 请求 $curl = curl_init($targetUrl); // 设置请求方法 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $requestMethod); // 设置请求头 curl_setopt($curl, CURLOPT_HTTPHEADER, $requestHeaders); // 发送请求 $response = curl_exec($curl); // 获取响应头大小 $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE); // 获取响应头 $responseHeaders = substr($response, 0, $headerSize); // 获取响应主体 $responseBody = substr($response, $headerSize); // 关闭 CURL 请求 curl_close($curl); // 输出响应头 foreach (explode("\r\n", $responseHeaders) as $header) { header($header); } // 输出响应主体 echo $responseBody; ?>
这个代理脚本将通过 CURL 发送请求到目标 URL,并将响应返回给客户端。它会保留请求头,并将响应头添加到输出中。请注意,这只是一个基本的示例,可能需要根据实际需求进行修改和扩展。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章来源:来自于网络收集。