PHP 生成随机链接并执行 GET 请求获取数据
PHP 生成随机链接并执行 GET 请求获取数据
本示例代码展示了如何使用 PHP 生成随机链接,并通过 file_get_contents 函数执行 GET 请求获取远程数据。
<?php
$id = rand(1, 5000); // 生成 1-5000 的随机 ID
$hash = substr(md5('yg_book_' . $id), 5, 16); // 获取 hash 值
$url = 'http://localhost/home/api/updatecachemip?id=' . $id . '&hash=' . $hash; // 拼接链接
$response = file_get_contents($url); // 执行 GET 请求
echo '请求链接:' . $url . '<br>'; // 输出请求链接
echo '响应结果:' . $response; // 输出响应结果
?>
注意:
- 如果请求的链接不是本地的,需要开启
allow_url_fopen配置项才能使用file_get_contents函数。 - 为了安全起见,建议在生产环境中使用
curl库来执行 GET 请求,而不是file_get_contents函数。
代码解释:
rand(1, 5000):生成一个 1 到 5000 之间的随机数作为 ID。substr(md5('yg_book_' . $id), 5, 16):使用 MD5 函数计算yg_book_加上随机 ID 的哈希值,并截取从第 5 个字符开始的 16 个字符作为 hash 值。'http://localhost/home/api/updatecachemip?id=' . $id . '&hash=' . $hash:拼接请求 URL,包含随机 ID 和 hash 值。file_get_contents($url):使用file_get_contents函数执行 GET 请求,获取远程数据。echo '请求链接:' . $url . '<br>';:输出请求链接。echo '响应结果:' . $response;:输出响应结果。
使用 curl 库执行 GET 请求:
<?php
$id = rand(1, 5000); // 生成 1-5000 的随机 ID
$hash = substr(md5('yg_book_' . $id), 5, 16); // 获取 hash 值
$url = 'http://localhost/home/api/updatecachemip?id=' . $id . '&hash=' . $hash; // 拼接链接
$ch = curl_init($url); // 初始化 curl
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置返回结果
$response = curl_exec($ch); // 执行请求
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // 获取 HTTP 状态码
curl_close($ch); // 关闭 curl
echo '请求链接:' . $url . '<br>'; // 输出请求链接
echo '响应结果:' . $response . '<br>'; // 输出响应结果
echo 'HTTP 状态码:' . $httpCode; // 输出 HTTP 状态码
?>
代码解释:
curl_init($url):初始化 curl,并指定请求 URL。curl_setopt($ch, CURLOPT_RETURNTRANSFER, true):设置 curl 返回结果而不是直接输出到页面。$response = curl_exec($ch):执行 curl 请求,获取响应结果。$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE):获取 HTTP 状态码。curl_close($ch):关闭 curl 连接。- 输出请求链接、响应结果和 HTTP 状态码。
原文地址: https://www.cveoy.top/t/topic/mX79 著作权归作者所有。请勿转载和采集!