отправить файл с Микротика методом POST

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Кто может подсказать как отправить файл с Микротика на Интернет ресурс методом POST с помощью команды /tool fetch ?
Конкретно интересует отправка вот на этот ресурс https://www.newocr.com/api/ по таким правилам:

Upload Files
You can upload JPEG, PNG, GIF, BMP and multipage TIFF, PDF, DJVU files.

To use multipart upload, make a POST request to the method's /v1/upload URI and add the query parameter key=api_key, for example:

POST /v1/upload?key=api_key HTTP/1.1
Host: api.newocr.com
Content-Type: multipart/form-data; boundary=---------------------------41184676334
Content-Length: 29278

-----------------------------41184676334
Content-Disposition: form-data; name="file"; filename="filename.jpg"
Content-Type: image/jpeg

(Binary data not shown)
-----------------------------41184676334--
If the request succeeds, the server returns the HTTP 200 OK status code along with any metadata:

HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",

"data":
{
"file_id": "6fa11ac55c10ade5dd4d6126c34d1e08",
"pages": 257
}
}
Example: Curl upload
curl -H "Expect:" -F file=@./path/to/file http://api.newocr.com/v1/upload?key=api_key
Example: PHP upload
<?php
$file = realpath('filename.tif');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://api.newocr.com/v1/upload?key=api_key');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => '@'.$file));
$result = curl_exec($ch);
echo $result;
curl_close ($ch);
?>


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Вот официальный ответ из техмоддержки Микротика:

Hello,

Unfortunately at the moment fetch does not provide such option to send files over http/https, for this you have to use FTP.

(К сожалению, на данный момент fetch не предоставляет такой возможности для отправки файлов по http/https, для этого вы должны использовать FTP.)

Best regards,
Pauls J.

Так, что жаль, но пока видно не судьба получать пароли с картинок для VPN-серверов Микротиком.

Но есть другой путь, предложенный Чупакаброй:

https://habr.com/post/420373/


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Нашел другой OCR-сервис, проще и удобнее предыдущего:

https://convertio.co/ru/ocr/

У него есть удобный API: https://developers.convertio.co/ru/

Сначала нужно на нем зарегистрироваться и получить APIKEY - регистрация занимает не больше 1 минуты и разрешает в день конвертировать 25 минут бесплатно !

Так вот. С WEB-странички сервиса пароль vpnbook.com сервера конвертируется из картинки в текст элементарно на УРА !

Но когда делаю тоже самое через API (текст с WEB-страничек API) выдается не тот результат.

Микротик тоже спокойно работает с этим API вот так:

1. Обращается к сервису с POST-запросом на распознавание файла-картинки с паролем VPN-сервера vbnbook.com:
обращаю внимание все кавычки в http-data нужно, как известно, экранировать обратным слешем.

/tool fetch http-method=post http-content-type="application/json" http-data="{\"apikey\": \"ВАШ API-KEY\", \"file\":\"https://www.vpnbook.com/password.php\", \"outputformat\": \"txt\"}" url="http://api.convertio.co/convert" dst-path="vpnOCR.txt"

В файле vpnOCR.txt в данном случае получаем в формате JSON ответ OCR-сервиса - всё мол OK и ID-файла результата распознавания (file-ID).

2. /tool fetch url="http://api.convertio.co/convert/file-ID/dl/base64" dst-path="vpnPASS.txt"

Обращаемся повторно GET-запросом чтобы забрать результат по полученному ID. И получаем в файл vpnPASS.txt ответ.

НО ! во-первых он (ответ) не правильный - не соответствует тексту на картинке, а во-вторых в формате base64 и больше никак. Это было бы еще полбеды - можно написать в скрипте перекодировщик, но и в base64 неправильный ответ.

В чем может быть проблема ?

Ну граждане - помогите ! Ведь пароли с сайтов-то всем нужны. Если сделаем - будем получать пароль к бесплатным VPN-серверам с Микротика автоматически, а если нет - будем лазить переодически смотреть глазами и перезабивать в ppp-secret - они меняются часто !

прошлый раз модератор vqd взял да и закрыл подобную тему на этом форуме - не известно за что.

За что !? Что-тут за цензура такая ?


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

С этим не пробовал поработать? www.online-convert.com


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Попробовал.

С Web-странички конвертирует пароль на ура, как и все предыдущие указанные мной OCR.

Но вразумительная документация по API этого сервиса вообще отсутствует - посмотрите сами. Кроме того, сомневаюсь, что Микротиковский fetch будет работать с REST API.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Да я как бы и не претендовал на новизну идей))) Просто спросил... Сам я просто содержу VDS в Амстердаме с OVPN-туннелем до роутеров. И вывод через этот туннель запросов из списка адресов. Как бы почти всё идёт через Россию, и только запретное через туннель.
Минусы - ежемесячная плата в 2 доллария и затаскивание денег на счёт с коммисией. Получается где-то 2,50 в месяц. Если пустить какие-то закачки или торренты нелегальщины - хостер быстренько начинает ругаться. Абузоустойчивые стоят дороже, причем намного.
Плюсы - как хочу, так и ворочу, пароли и сертификаты мои и только мои, все дополнительные плюшки всего сервера тоже мои. И распознавать ничего не надо)))


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Иметь свой VPN-сервер это понятно неплохо. Но в полном объеме он мне не нужен. И просто хотелось реализовать вышеприведенное для обхода некоторых блокировок. Почему не выходит не понимаю. Что-то у этих сервисов с API не так просто. То ли они все же их бесплатно не дают, то ли я что-то не так делаю.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Ответить