Skip to content

klim42/gibdd

This branch is up to date with bckr75/gibdd:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a7b59ae · Oct 17, 2018

History

29 Commits
Oct 16, 2018
Aug 13, 2017
Aug 13, 2017
Jul 20, 2018
Aug 13, 2017

Repository files navigation

Простой парсер сайта ГИБДД

Предназначен для парсинга ГИБДД. Доступны все 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.

About

Парсер ГИБДД

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%