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 函数。

代码解释:

  1. rand(1, 5000):生成一个 1 到 5000 之间的随机数作为 ID。
  2. substr(md5('yg_book_' . $id), 5, 16):使用 MD5 函数计算 yg_book_ 加上随机 ID 的哈希值,并截取从第 5 个字符开始的 16 个字符作为 hash 值。
  3. 'http://localhost/home/api/updatecachemip?id=' . $id . '&hash=' . $hash:拼接请求 URL,包含随机 ID 和 hash 值。
  4. file_get_contents($url):使用 file_get_contents 函数执行 GET 请求,获取远程数据。
  5. echo '请求链接:' . $url . '<br>';:输出请求链接。
  6. 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 状态码
?>

代码解释:

  1. curl_init($url):初始化 curl,并指定请求 URL。
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true):设置 curl 返回结果而不是直接输出到页面。
  3. $response = curl_exec($ch):执行 curl 请求,获取响应结果。
  4. $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE):获取 HTTP 状态码。
  5. curl_close($ch):关闭 curl 连接。
  6. 输出请求链接、响应结果和 HTTP 状态码。
PHP 生成随机链接并执行 GET 请求获取数据

原文地址: https://www.cveoy.top/t/topic/mX79 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录