Получить код ответа HTTP, используя Zend и Curl - PullRequest
2 голосов
/ 03 марта 2012

У меня есть URL, который может быть доступен через HTTP или HTTPS.Я хочу отправить запрос HEAD или GET, который является самым быстрым, и получить код ответа, чтобы я знал, является ли URL-адрес увеличенным или уменьшенным.

Как мне это сделать с помощью Zend_HTTP_Client?Я использовал функцию get_headers (), но на некоторых удаленных серверах она работает очень медленно.Я не уверен, что он обрабатывает HTTPS.

1 Ответ

5 голосов
/ 04 марта 2012

Возможно, вы не захотите использовать 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);

Код не проверен.Используйте на свой страх и риск.

...