Мне нужно создать скрипт авторизации. Файлы cookie должны быть сохранены и использованы позже для доступа к странице без разрешения. Может ли кто-нибудь дать мне пример работы?Zend_Http_Client Пример авторизации cURL
3
A
ответ
5
Во-первых, вы должны сделать первоначальный запрос на получение файлов cookie с сервера. В ответ вы сохраните файлы cookie, отправленные сервером в заголовке ответа Set-Cookie
. Где вы их храните, зависит от вас. Я просто добавил их на сеанс.
$uri = 'http://example.com';
$client = new Zend_Http_Client();
$client->setUri($uri);
$client->setAdapter('Zend_Http_Client_Adapter_Curl');
$adapter = $client->getAdapter();
$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false);
/** First Request to get required cookies **/
$response = $client->request();
/** Get response cookie strings and store them (session, db, file, etc) **/
$cookies = (array) $response->getHeader('Set-cookie');
$session = new Zend_Session_Namespace();
$session->storedCookies = $cookies;
Теперь, когда у вас есть сохраненные файлы cookie, по следующему запросу вы можете добавить их в запрос.
/** Start new Zend_Http_Client instance **/
$uri = 'http://example.com';
$client = new Zend_Http_Client();
$client->setUri($uri);
$client->setAdapter('Zend_Http_Client_Adapter_Curl');
$adapter = $client->getAdapter();
/** This setCurlOption is optional **/
$adapter->setCurlOption(CURLOPT_SSL_VERIFYPEER, false);
$session = new Zend_Session_Namespace();
$cookies = $session->storedCookies;
/** Add Stored Cookie strings to Zend_Http_Client instance **/
foreach ($cookies as $cookieStr) {
$client->setCookie(Zend_Http_Cookie::fromString($cookieStr, $uri));
}
/** Perform request using stored cookies **/
$response = $client->request();
Если у вас есть вопросы или вам нужно что-то уточнить, просто дайте мне знать.
Смежные вопросы
- 1. Запрос POST с Zend_Http_Client или CURL
- 2. C# - Запрос файла Json с ключом авторизации (пример cURL)
- 3. Пример отпечатка авторизации
- 4. Ошибка авторизации на сайте (cURL)
- 5. Как использовать zend_http_client или curl в правильном направлении
- 6. Zend_Http_Client таймаута
- 7. Zend_Http_Client SSL Исключение
- 8. Как войти запрос Zend_Http_Client
- 9. Преобразовать CURL и PHP CURL вызов, но получаю ошибку авторизации
- 10. Пропустить SSL-подтверждение в Zend_HTTP_Client
- 11. CURL - простой пример, возвращающий «CURLE_WRITE_ERROR»
- 12. cURL Пример прикрепления облаков Пожалуйста,
- 13. PHP: CURL sendgrid API авторизации V3
- 14. PHP Curl Basic авторизации в SSL
- 15. Как установить заголовок авторизации с помощью curl
- 16. Заголовок авторизации не задан с PHP cURL
- 17. Zend_Http_Client :: PUT не работает
- 18. аутентификация с использованием Zend_Http_Client
- 19. Zend_Http_Client - Чтение из Stream?
- 20. Zend_Http_Client в программировании php
- 21. проблема кэширования браузера zend_http_client
- 22. Identity Server 4 Код авторизации Пример потока
- 23. Zend_Http_Client не может декодировать ответ?
- 24. Игнорировать SSL ошибки в Zend_Http_Client
- 25. Zend_Http_Client загружать контент в iframe
- 26. Максимальная длина запроса на Zend_Http_Client?
- 27. Удаленный параметр адреса в Zend_Http_Client
- 28. Использование Zend_Http_Client отправить JSon POST
- 29. Zend_Http_Client не хранит файлы cookie
- 30. Используя пример Bing речи с Curl
спасибо. Это то, что я ищу. Как я знаю, завиток может содержать постоянное соединение и использовать его для нескольких запросов в очереди. Как это можно сделать с Zend? – Crusader