How To Use cURL (in PHP) For Authentication And SSL Communication Как использовать cURL (в PHP) для аутентификации и SSL Связь
Using cURL (in PHP) to access http s url is often not as simple as using the proper url. Использование cURL (в PHP) для доступа к http ы url зачастую не так просто, как с помощью надлежащего ссылке. Using it for authentication is also not very clearly documented. Использование его для аутентификации также не очень четко подтверждены документально. This is a mini tutorial for both accessing https url’s as well as for http authentication. Это мини-учебник для доступа к https в url, а также для http аутентификации.
The following is a simple example which show the most common options you will ever need to use to access https url’s as well as for http authentication. Ниже приведен простой пример, который показывают наиболее распространенных вариантов вы когда-либо придется использовать для доступа к https в url, а также для http аутентификации.
// The usual - init a curl session and set the url / / The всегда - инициализации сессии локон и установить url
$ch = curl_init(); $ гл = curl_init ();
curl_setopt($ch, CURLOPT_URL, $base_url); curl_setopt ($ гл, CURLOPT_URL, $ base_url);
// Set your login and password for authentication / / Установите свой логин и пароль для аутентификации
curl_setopt($ch, CURLOPT_USERPWD, ‘login:pasword’); curl_setopt ($ гл, CURLOPT_USERPWD, 'логин: пароль');
// You can use CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, / / Вы можете использовать CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE,
// CURLAUTH_NTLM, CURLAUTH_ANY, and CURLAUTH_ANYSAFE / / CURLAUTH_NTLM, CURLAUTH_ANY и CURLAUTH_ANYSAFE
// / /
// You can use the bitwise | (or) operator to combine more than one method. / / Вы можете использовать побитовое | (или) оператору объединить более чем один метод.
// If you do this, CURL will poll the server to see what methods it supports and pick the best one. / / Если вы сделаете это, curl будет опрос сервера, чтобы узнать, что методы, которые он поддерживает и выбрать лучший.
// / /
// CURLAUTH_ANY is an alias for CURLAUTH_BASIC | CURLAUTH_DIGEST | / / CURLAUTH_ANY является псевдонимом CURLAUTH_BASIC | CURLAUTH_DIGEST |
// CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM / / CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM
// / /
// CURLAUTH_ANYSAFE is an alias for CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | / / CURLAUTH_ANYSAFE является псевдонимом CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE |
// CURLAUTH_NTLM / / CURLAUTH_NTLM
// / /
// Personally I prefer CURLAUTH_ANY as it covers all bases / / Лично я предпочитаю CURLAUTH_ANY как она охватывает все основания
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt ($ гл, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// This is occassionally required to stop CURL from verifying the peer’s certificate. / / Это иногда требуется остановить локон с проверкой взаимного сертификата.
// CURLOPT_SSL_VERIFYHOST may also need to be TRUE or FALSE if / / CURLOPT_SSL_VERIFYHOST, возможно, также должны быть TRUE или FALSE, если
// CURLOPT_SSL_VERIFYPEER is disabled (it defaults to 2 - check the existence of a / / CURLOPT_SSL_VERIFYPEER отключена (по умолчанию-2 - проверить существование
// common name and also verify that it matches the hostname provided) / / Общее название, а также убедиться в том, что он совпадает с хоста)
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ($ гл, CURLOPT_SSL_VERIFYPEER, ложные);
// Optional: Return the result instead of printing it / / Дополнительно: Возвращение результате вместо печатания она
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ гл, CURLOPT_RETURNTRANSFER, 1);
// The usual - get the data and close the session / / Обычный - получить данные и закрыть сессию
$data = curl_exec($ch); $ = данные curl_exec ($ ч);
curl_close($ch); curl_close ($ ч);
Use the above as a template for your code to simplify your data access using cURL. Используйте выше, как шаблон для своего кода в целях упрощения доступа к данным вашей помощью cURL.
PS. The challenge with cURL documentation in PHP is that it is hard to find what you need from hundreds of available options and without enough examples of common use cases. Задача с cURL документацию на PHP заключается в том, что трудно найти то, что вам нужно от сотен имеющихся вариантов и без достаточно примеров общих случаев использования. What is needed is a series of How-To’s like the mini-tutorial above. Что необходимо, так это серия Как-Чтобы как мини-учебник выше.
Filed under Поданного в соответствии с Computer Security Computer Security , Headline News Headline News , How To Как , PHP , Tech Note Технология Примечание , Web Веб , Web Services Web Services | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | это статья |
Email this Article Отослать Статья
You may also like to read Вы можете также люблю читать |




October 31st, 2006 at 10:06 pm 31 октября 2006 года в 10:06 вечера
[...] Let’s take a PHP script that does a number of CURL calls as an example. [...] Возьмем PHP-скрипт, делает ряд звонков локон, как пример. PHP gives you access to libcurl a really powerful tool for calling up other web pages, web services, RSS feeds, and whatever else you can dream up, right in your PHP code. PHP дает доступ к libcurl действительно мощный инструмент для звонков деятельность других веб-страницах, веб-услуги, RSS-каналы, и все, что еще можно мечтать деятельность, прямо в вашем PHP коде. This article is not a general introduction to CURL, so I won’t go into detail, but basically the CURL functions allow your code to make requests and get responses from web sites just like a browser. Эта статья не является общим введением в уголке, поэтому я не буду вдаваться в подробности, но в основном локон функции позволяют кода сделать запросы и получать ответы от веб-сайты точно так же, как браузер. You can then parse the results use the data on your site. Затем можно разобрать результаты использования данных о вашем сайте. [...]
November 2nd, 2006 at 4:48 am 2 ноября 2006 года в 4:48 утра
[...] [...] [...] [...]
November 28th, 2007 at 12:02 pm 28 ноября 2007 года в 12:02 вечера
Thank you for this article and all of the information you’ve provided. Благодарим Вас за эту статью и все Вами информацию.
After I had my prototype remote log-in system working, I moved it to a secure server, and nothing worked anymore. После того как я был моим прототипом удаленного входа в систему работать, я переехал его на защищенный сервер, и ничего не работает больше.
Then I Googled for a couple of hours, until I found this page. Тогда я Googled за пару часов до тех пор, пока я нашел на этой странице. Awesome! Милый! Everything is working again. Все снова работает.
Yes, you are absolutely right: It’sa jungle out there when you’re trying to find which CURL options are applicable and will actually work with any given situation. Да, Вы совершенно правы: Это джунгли там, когда вы пытаетесь найти эту локон, которые применяются и будут реально работать с той или иной ситуации.
Hats off to you! Шапки до вас! You made my day! Вы сделали мой день!
January 15th, 2008 at 2:46 pm 15 января 2008 года в 2:46 вечера
Thanks for the info. Спасибо за информацию.
One small thing: curl_exec() should have $ch as the parameter: Один небольшой вещь: curl_exec () должны иметь $ гл, как параметр:
$data = curl_exec($ch);$ = данные curl_exec ($ ч);January 15th, 2008 at 10:50 pm 15 января 2008 года в 10:50 вечера
Thanks. Спасибо. Corrected. Исправлено.
March 29th, 2008 at 6:22 am 29 марта 2008 года в 6:22 утра
// CURLAUTH_ANYSAFE is an alias for CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | / / CURLAUTH_ANYSAFE является псевдонимом CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE |
// CURLAUTH_NTLM / / CURLAUTH_NTLM
// / /
problem pls check it… Проблема pls проверить…
May 7th, 2008 at 9:00 am 7 мая 2008 года в 9:00 утра
hello, Здравствуйте,
I tried ur code for a different website but it says there is syntax error(unexpected ‘:’ in that specific line in the line which we are supposed to edit our username and password to that site.. as i looking fro such similar login codes i would be thankful if u could help, Я попытался ур-код для различных веб-сайте, но она сообщила, что есть ошибка синтаксиса (неожиданный ':' в том, что конкретные строки в строку, которые мы должны изменить наше имя пользователя и пароль на этот сайт .. как я нетерпением мм для аналогичных логин коды Буду благодарен, если у могут помочь,
Thanks and regards, Спасибо и уважением,
Rahul.. Rahul ..