bckr75 / gibdd
Simple gibdd.ru parser
Installs: 1 198
Dependents: 0
Suggesters: 0
Security: 0
Stars: 14
Watchers: 2
Forks: 4
Open Issues: 3
Requires
- php: >=5.6
- php-curl-class/php-curl-class: ^7.2
README
Предназначен для парсинга ГИБДД. Доступны все 4 вида проверки, перед проверкой необходимо запросить капчу(входит в комплект).
Установка
Через composer
composer require bckr75/gibdd
Через composer.json
require: {
"bckr75/gibdd": "^1.0.0"
}
После этого
composer install
Использование
Конструктор
Класс инициализируется с опциональным массивом параметров, например(все доступные параметры):
[
'timeout' => 30, //таймаут соединения
'useragent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ' .
'(KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36', //строка user-agent
'host' => 'http://check.gibdd.ru', //хост из URI POST-запроса
'check_path' => '/proxy/check/auto/', //остальная часть URI POST-запроса
'captcha_path' => '/proxy/captcha.jpg', //часть URI GET-запроса изображения капчи
'referrer' => 'http://check.gibdd.ru/proxy/captcha.jpg' //реферрер
'proxy' => [
'address' => '127.0.0.1:80', //ip:порт
'userpass' => 'root:12345' //юзернейм:пароль
]
]
При соединении можно использовать прокси(если не используете, просто уберите 'proxy' из массива).
Вы можете указать массив прокси c элементами вида
'proxy' => [ ['address' => 'ip1:port1', 'userpass' => 'username1:password1'], ['address' => 'ip2:port2', 'userpass' => 'username2:password2'], ... ]
Для того, чтобы иметь возможность каждый раз устанавливать новый прокси при запросе в цикле, не создавая при этом новый класс.
Капча
Перед каждой проверкой нужно получить капчу. Для этого необходимо вызвать функцию getCaptchaValue с опциональным массивом параметров:
[
'setCookie' => true,
'base64' => true //возврат капчи, закодированной в base64 и готовой к вставке в html, как аттрибут src элемента img
]
Обратите внимание на опцию setCookie, так как по умолчанию куки устанавливается внутри curl данного экземпляра класса, так что если вы создаёте новый класс каждый раз, то вам нужно устанавливать куки в браузере, за что эта опция и отвечает.
Запрос к ГИБДД
Четыре функции в классе, tryGetHistory, tryGetDtp, tryGetIsWanted и tryGetRestrictions отвечают за четыре соответствующие проверки в ГИБДД. Все они должны вызываться с обязательными параметрами VIN и captcha.