bckr75/gibdd

Simple gibdd.ru parser

1.0.9 2018-10-17 11:56 UTC

This package is auto-updated.

Last update: 2024-10-15 15:25:38 UTC


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.

Массивы для сопоставления выходных данных