bckr75 / gibdd
简单的 gibdd.ru 解析器
1.0.9
2018-10-17 11:56 UTC
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')。
您可以使用以下格式的代理数组
'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,这正是此选项的作用。
请求到交通安全局
类中有四个函数,tryGetHistory、tryGetDtp、tryGetIsWanted 和 tryGetRestrictions 分别对应交通安全局的四种检查。它们都应该使用必选参数 VIN 和 captcha 来调用。