我有一个可以通过HTTP或HTTPS访问的URL。我想发送一个最快的HEAD或GET请求,并获取响应代码,以便我知道URL是启动还是关闭。
如何使用Zend_HTTP_Client执行此操作?我使用了get_headers()函数,但在某些远程服务器上它非常慢。我不确定它是否处理HTTPS。
答案 0 :(得分:5)
您可能不希望使用Zend_Http_Client
- 使用本机PHP函数(例如fsockopen
,因为您似乎希望它有效)。
也就是说,这可能适合你(因为它默认使用套接字适配器,它的效率可能不如使用本机函数):
$client = new Zend_Http_Client();
$response = $client->setUri($uri)->request(Zend_Http_Client::HEAD);
如果没有,您可以尝试手动设置cURL选项。
$adapter = new Zend_Http_Client_Adapter_Curl();
$adapter->setCurlOption(CURLOPT_NOBODY, true);
$client = new Zend_Http_Client();
$client->setAdapter($adapter);
$response = $client->setUri($uri)->request(Zend_Http_Client::HEAD);
代码未经过测试。使用风险自负。