запрос к стороннему сайту
Стоит задача такая: задача автоматизации проверки штрафов для целого парка автомобилей предприятия. На официальном сайте gibdd.ru есть api, но там информация только об отделениях ГИБДД (если правильно понял). Получение же инфы через их сервис http://www.gibdd.ru/check/fines/ с вводом капчи слишком трудоемкий процесс для оператора. Есть сторонние сайты без ввода капчи, например, http://pddmaster.ru/shtrafi/shtrafy-...os-nomeru.html. Есть мысль скормить список авто с СТС в цикле в виде get-запроса и получить/не получить результат.
Поскольку сам новичок в этом деле, попробовал сделать простую веб-страницу с XMLHttpRequest, запускаемую локально, естественно, ничего не получилось, т.к. кросс-доменный запрос запрещен по-умолчанию в браузерах (который можно включить https://developer.mozilla.org/en-US/...s_control_CORS, в хроме есть даже плагин). Дальнейшие копания ни к чему не привели. Подумав и почитав, решил реализовать на ноде. Вот код: var request = require('request'); var fs = require("fs"); // Set the headers var headers = { 'User-Agent': 'Super Agent/0.0.1', 'Content-Type': 'application/x-www-form-urlencoded' } // Configure the request var options = { url: 'http://pddmaster.ru/shtrafi/shtrafy-gibdd-po-gos-nomeru.html', method: 'GET', timeout: 10000, headers: headers, qs: {'sts': '77МХ******', 'format': 'plain'} } // Start the request request(options, function (error, response, body) { if (!error && response.statusCode == 200) { // Print out the response body console.log(body); fs.writeFile('pdd.htm', body); } }) Смотрю записанный файл, там есть такие строки: «Загрузка системы поиска штрафов» «Идет поиск штрафов! процесс может занять несколько минут» Когда вручную вбиваю номер СТС, выдается именно эти строки - первая при загрузке страницы, вторая после нажатия кнопки «Искать!». В ответ получим (в случае отсутствия штрафов): «Поздравляем! В Государственной информационной системе по Вашим данным не нашлось ни одного штрафа.» Это сообщения в созданном файле нет. Возможно, что таймаут не срабатывает или другое? В чем ошибки? В правильном ли направлении иду? И вообще, возможны ли подобные запросы на такие сайты? |
Делать надо однозначно на стороне сервера, да.
Вот список возможных направлений: 1) В данный момент сайт gibdd.ru фактически лежит, возможно проблема в этом 2) Есть платные сервисы автоматического распознавания капчи 3) User-agent - эмуляция запроса из браузера 4) Phantomjs - полная эмуляция браузера с JS 5) Таймауты между запросами чтобы не банили 6) Прокси для обхода возможного бана. В целом если нет api - такие задачи решаются сложно и с кучей головной боли. |
Еще - на https://www.gibdd.ru/api/ информация о том что сервис в стадии разработки. Если есть api - должен быть саппорт, там можно узнать когда планируется реализация интересующего функционала, может быть просто проще будет дождаться его.
|
Где в Firefox включить не подскажешь, а то по твоей ссылке об этом ничего нет?
http://stackoverflow.com/questions/17088609/disable-firefox-same-origin-policy |
Цитата:
https://toster.ru/q/138645): Вот страничка с описанием методов в ГИБДД АПИ www.gibdd.ru/api Но к сожалению там не описан метод получения списков штрафов по номеру автомобиля. Подскажите пожалуйста, может быть кто-то сталкивался с данной проблемой? Может быть кто-то знает хороший бесплатный сервис? P.S. Вопрос задаю тут, так как на мое письмо, которое я выслал по адресу, указанному в обратной связи, уже долгое время никто не отвечает. Вопрос задан более года назад 4110 просмотров До этого изучал их сайт. Судя по всему разработчики забили. Там есть сведения о региональных отделениях ГИБДД, о штрафах там нового нет (сейчас не могу посмотреть, сайт действительно лежит). |
Цитата:
2) о платных думал, читал. Для их подключения нужен хотя бы более менее рабочий код, которого пока нет. Возможно, что даже наш оператор будет капчу вводить вместо индусов :) 5) пока я делаю один запрос, таймаут не нужен, но, похоже, что в приведенном коде таймаут не срабатывает. |
Цитата:
The browser addon answer by @Giacomo should be useful for most people and I have accepted that answer, however, for my personal research needs (TL;won't explain here) it is not enough and I figure other researchers may need to do what I did here to fully kill SOP. |
Цитата:
http://smev.gosuslugi.ru/portal/Думал тоже подключиться, чтобы инфу непосредственно получать, но требования непростые, для сложноподчиненых иерархических организаций тем более. |
В общем с официальными сайтами вроде понятно - там все плохо. Не сильно разбираясь в задаче, могу сказать что если где-то что-то можно кликнуть мышкой и увидеть ответ глазами - это можно автоматизировать, как максимум - Phantomjs, http://www.nightmarejs.org
Делайте сразу на стороне сервера, такие задачи не для браузера. Ну и, понятное дело, не обязательно писать на JS, можно на любом языке. |
Цитата:
|
Часовой пояс GMT +3, время: 04:48. |