bckr75/gibdd

简单的 gibdd.ru 解析器

1.0.9 2018-10-17 11:56 UTC

This package is auto-updated.

Last update: 2024-09-15 15:10:03 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')。

您可以使用以下格式的代理数组

  'proxy' => [
    ['address' => 'ip1:port1', 'userpass' => 'username1:password1'],
    ['address' => 'ip2:port2', 'userpass' => 'username2:password2'],
    ...
  ]

为了在循环请求中每次都能安装新的代理,而不需要创建新的类。

验证码

在每次检查之前都需要获取验证码。这需要调用 getCaptchaValue 函数,并可以带有一个可选的参数数组

[ 
  'setCookie' => true, 
  'base64' => true //возврат капчи, закодированной в base64 и готовой к вставке в html, как аттрибут src элемента img
]

请注意 setCookie 选项,因为默认情况下,cookie 被设置在当前 curl 实例内部,所以如果您每次都创建一个新的类,那么您需要在浏览器中设置 cookie,这正是此选项的作用。

请求到交通安全局

类中有四个函数,tryGetHistorytryGetDtptryGetIsWantedtryGetRestrictions 分别对应交通安全局的四种检查。它们都应该使用必选参数 VINcaptcha 来调用。

用于匹配输出数据的数组