在PHP中,你可以使用`$_GET`超全局变量来获取URL中的查询参数。然后,你可以使用字符串拼接和`file_get_contents()`函数(或`curl`,对于更复杂的请求)来发送请求并获取响应。你可以使用`preg_match()`函数或类似的字符串函数来从响应中提取特定的URL。 以下是一个基本的PHP脚本示例,该脚本实现了你的需求: ```php <?php // 获取URL参数 $urlParam = isset($_GET['url']) ? $_GET['url'] : ''; // 检查是否有有效的URL参数 if (empty($urlParam)) { echo "URL参数缺失。"; exit; } // 构建新的URL $newUrl = "https://www.wegame.com.cn/api/forum/lua/wg_video/get_video_play_info?videoid=han_" . $urlParam . "&upload_type=0&platform=2"; // 发送请求并获取响应 $response = file_get_contents($newUrl); // 检查响应是否成功获取 if ($response === false) { echo "无法获取响应。"; exit; } // 假设响应是一个JSON格式的字符串,我们将其解码为PHP数组 $responseArray = json_decode($response, true); // 假设响应中包含一个数组,其中第一个元素是我们需要的URL // 注意:这里需要根据实际的响应结构进行调整 if (is_array($responseArray) && isset($responseArray[0])) { $videoUrl = $responseArray[0]; // 使用正则表达式提取URL if (preg_match('/https:\/\/ugc-svp.wegame.com.cn\/([^\?]+)/', $videoUrl, $matches)) { $extractedUrl = "https://ugc-svp.wegame.com.cn/" . $matches[1]; echo "提取的URL是:" . $extractedUrl; } else { echo "无法在响应中找到匹配的URL。"; } } else { echo "响应结构不符合预期。"; } ?> ``` 注意: 1. 上述代码假设响应是JSON格式的,并且我们直接从数组的第一个元素中获取URL。实际的API响应可能与此不同,因此你需要根据实际响应结构调整代码。 2. `file_get_contents()`函数可能不适用于所有服务器配置或请求。如果API需要HTTPS连接或特定的HTTP头,你可能需要使用`cURL`库来发送请求。 3. 正则表达式用于从完整的URL中提取路径和查询字符串之前的部分。根据你的需求,你可能需要调整正则表达式以匹配不同的URL格式。 4. 考虑到安全和性能,你可能需要添加额外的错误处理和验证,例如检查`$urlParam`是否包含无效字符或是否太长。 5. 如果API需要身份验证(如API密钥),你还需要在请求中包含这些凭据。 [2024-09-09 04:56:06 | AI写代码神器 | 649点数解答]