Другие языки программирования и технологии

PHP. Кто может подробно объяснить как авторизоваться с помощью cURL

Serzhan Kydaivergen
Serzhan Kydaivergen
15 250
cURL - набор функция для формирования HTTP - запросов (если память мне не врет :-) )

Для меня действия были бы такие (не зависимо от того где нужно авторизоваться) :
0. Изучаем что такое HTTP-протокол и с чем его едят
1. Ставим на комп Wireshark
2. Запускаем его на сканирование интерфейса.
3. Несколько раз проходим авторизацию на нужном сайте.
4. Останавливаем сканирование в Wireshark
5. Смотрим какие HTTP-пакеты шли между твоим компом и требуемым сервером.
6. Заставляем cURL - отсылать точно такие же пакеты :-)
Cergei Protopopov
Cergei Protopopov
7 982
Лучший ответ
чо именно на curl? на сокетах могу показать.
Tommy Nokker
Tommy Nokker
23 756
Serzhan Kydaivergen мне именно нужно используя библиотеку curl
а чего здесь не понятного-то?
Serzhan Kydaivergen напишите как авторизоваться к примеру на маил ru
Простой пример:

$host - хост
$path - остальная часть адреса без хоста
$data - пост данные
$ua - юзер агент

Function PostData ( $host, $path, $data, $ua)
{
global $USER_AGENT, $proxy;

IF($ua)
{
$USER_AGENT = $ua;
}

$ch=curl_init ();
IF ( !Empty ( $proxy ) )
curl_setopt ( $ch, CURLOPT_PROXY, $proxy );
curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );
IF ( !$noheader )
curl_setopt ( $ch, CURLOPT_HEADER, 1 );
curl_setopt ( $ch, CURLOPT_URL, 'http://' . $host . $path );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, array ( "User-agent: " . $USER_AGENT,
"Accept: application/xhtml+voice+xml;version=1.2, application/x-xhtml+voice+xml;version=1.2, text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, *\/*;q=0.1",
"Accept-Language: ru, en",
"Accept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1",
"TE: deflate, gzip, chunked, identity, trailers",
)
);
$out=curl_exec ( $ch );
$arr=explode ( "
Serzhan Kydaivergen Сам хоть понял что написал?