Coder Social home page Coder Social logo

gibdd's Introduction

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

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

gibdd's People

Contributors

bckr75 avatar karakum avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.