PHP file_get_contents() 无法打开流:HTTP 请求失败
尝试使用 PHP 的 file_get_contents() 函数从 URL 检索内容时,您可能会遇到一条错误消息,指出“无法打开流:HTTP 请求失败!”当 PHP 无法与指定 URL 建立连接时,就会出现此问题。
问题排查
错误消息表明 file_get_contents() 发出的 HTTP 请求失败的。这可能是由于以下几个原因造成的:
使用 cURL 作为替代方案
如果 file_get_contents() 失败,可以使用替代方案解决方案是使用 cURL,这是一种流行的 PHP 扩展,用于发出 HTTP 请求。 cURL 提供了对请求配置的更多控制,并允许对潜在问题进行故障排除。
使用 cURL 的示例代码
<?php // Initialize a cURL handle $curl_handle = curl_init(); // Set the URL to fetch curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv'); // Set a timeout for the connection curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); // Request the content to be returned instead of printed curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); // Set a user agent to identify your application curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name'); // Execute the request and store the response $query = curl_exec($curl_handle); // Close the cURL handle curl_close($curl_handle); ?>
结论
使用 file_get_contents() 从 URL 获取内容时,请确保 URL 有效并且存在没有网络连接问题。如果这些检查失败,请考虑使用 cURL 作为替代方案,因为它提供了更大的灵活性和故障排除功能。
以上是为什么我的 PHP `file_get_contents()` 失败并显示'HTTP 请求失败”,如何使用 cURL 作为解决方案?的详细内容。更多信息请关注PHP中文网其他相关文章!