为了检查 URL 是否为图像,我使用 PHP 函数get_headers
。在正常情况下,它工作得很好。
但是当我在代理后面时,它会导致超时异常。我有同样的问题,file_put_contents
但我通过添加上下文参数解决了它。但是,该get_headers
函数没有类似的论点。
请问你知道怎么做吗?
为了检查 URL 是否为图像,我使用 PHP 函数get_headers
。在正常情况下,它工作得很好。
但是当我在代理后面时,它会导致超时异常。我有同样的问题,file_put_contents
但我通过添加上下文参数解决了它。但是,该get_headers
函数没有类似的论点。
请问你知道怎么做吗?
使用stream_context_set_default
功能。
这篇博客文章解释了如何使用它。这是该页面的代码。
<?php
// Edit the four values below
$PROXY_HOST = "proxy.example.com"; // Proxy server address
$PROXY_PORT = "1234"; // Proxy server port
$PROXY_USER = "LOGIN"; // Username
$PROXY_PASS = "PASSWORD"; // Password
// Username and Password are required only if your proxy server needs basic authentication
$auth = base64_encode("$PROXY_USER:$PROXY_PASS");
stream_context_set_default(
array(
'http' => array(
'proxy' => "tcp://$PROXY_HOST:$PROXY_PORT",
'request_fulluri' => true,
'header' => "Proxy-Authorization: Basic $auth"
// Remove the 'header' option if proxy authentication is not required
)
)
);
$url = "http://www.pirob.com/";
print_r( get_headers($url) );
echo file_get_contents($url);
?>