Задать вопрос
Ответы пользователя по тегу API
  • Сильно ли передача по http медленнее, чем напрямую?

    @rPman
    Если вам нужна скорость, то уходите от постоянного переподключения к сервисам.

    Конечно, современные веб-сервера и браузер умеют переиспользовать подключение для http rest, но это стоит перепроверить в вашем случае. Если идут постоянные переподключения то высокие пинги могут превратить работу вашего сервиса в лагучую дрянь (один https добавит пару туда-сюда отправлений).

    websocket изначально по определению однократно открывает подключение а затем использование открытого канала возможно в обе стороны (с http rest только в одну и с оговорками в сторону клиента, читай не эффективно).

    А еще вопрос, как у вас организован код обработки http rest. Если это старый классический подход, когда на каждый запрос запускается php скрипт это это еще и высоченная нагрузка на сервер, переделывайте (а точнее убирайте эту фигню и оставьте websocket), так как разница подходов дает ускорение на пару тройку порядков (это не шутка и не преувеличение).

    у http rest только одно достоинство - почти бесплатная горизонтальная масштабируемость на сервере.
    Ответ написан
  • Как "организовать" скрипт действий на сайте?

    @rPman
    2 кардинально разных подхода:

    * вы изучаете, какие запросы совершает браузер, когда вы совершаете действия настранице (в браузере F12 закладка network, там можно на строке правую кнопку нажать и получить готовую команду утилиты curl к примеру), изучаете что из себя представляет запрос, выделяете параметры (что есть идентификатор сессии, что номер поста и т.п. - эмпирически и следуя логике как вы бы сами как програмист сделали) а затем повторяете все то же самое или только необходимое (например можно не грузить картинки стили и прочее) на любом языке програмирования, скорее всего загружая страницы придется их парсить, разбирать ссылки чтобы знать какие параметры подставлять в следующие запросы.

    * используя расширение к барузеру (например greasemonkey/tempermonkey), либо используя headless браузер типа silenium с подключением к вашему любимому языку или напрямую однократно добавив функции в консоли браузера (если сайт single page app без перезагрузки страницы) - полезно на время отладки, написать необходимый код прямо на javascript. Например чтобы кликнуть на ссылку достаточно написать $('css селектор до ссылки/кнопки').click()

    Первый подход самый эффективный и быстрый, не требует большой нагрузки на машину, с которой проходит автоматизация, если сервер не против, можно запускать сразу много и часто запросов и быстро собирать данные.

    Но если сервер противится таким технологиям то либо начинаете великую битву меча и щита, либо остается только второй подход. Код второго подхода обычно проще, анализировать сайт потребуется меньше, особенно это актуально при поддержке таких скриптова автоматизации, когда сайт обновляется или меняется дизайн. Второй подход на стороне сервера почти невозможно выявить, так как действия полностью идентичен действиям пользователя, особенно если кликать не сразу а по таймауту, симулировать скроллинг и движения мыши. Недостаток - очень высокая нагрузка на процессор и память машины с симулятором, ведь каждый парсер это полноценный браузер (особенно если вам надо использовать прокси одним инстансом вы не отделаетесь)
    Ответ написан
    1 комментарий
  • Вопрос о телеграме. Как получить информацию об участников канала?

    @rPman
    В штатном клиенте telegram пишите в поиск нужный вам канал (даже тот в котором вас нет), выбираете в результатах поиска его, не нажимаете join, нажимаете на заголовок, листаете вниз и смотрите список его участников, нажав на каждого по очереди сможете узнать их id (если такого нет телефон не будет показан, если он не у вас в контактах), в общем стандартный публичный профиль включая список каналов, пересекающихся с вашими (т.е. не все а только те на которых вы есть)
    Ответ написан
  • Как хранить BTC кошельки пользователей?

    @rPman
    https://github.com/bitcoinjs/bitcoinjs-lib и можете реализовывать полноценный кошелек на клиенте, даже без хранения приватных ключей на сервере.

    либо реализуйте все на сервере а на клиенте тупо интерфейс
    Ответ написан
    Комментировать
  • Как реализовать платный функционал в софте не зашивая его в код?

    @rPman
    Если у вас онлайн, то вам повезло, сделайте работу платного функционала зависимой от вашего сервера (например часть задач выполняйте там), чтобы без сервера ничего не работало бы. В идеале обфусицировать взаимодействие (сделать так чтобы в пределах одной задачи код работал последовательно то на клиенте то на сервере потом снова на клиенте, только следите чтобы не в ущерб скорости), чтобы отреверсить работу сервера было сложнее чем написать ваш платный функционал заново.

    В самом простом случае, можете реализовать ВЕСЬ платный функционал на сервере, а на клиенте только интерфейс (вернуться во времена http rest архиетктуры, ну с оглядкой на эффективность и отзывчивость).
    Ответ написан
    2 комментария
  • Генерация аудио файла с помощью сообщений?

    @rPman
    Из бесплатных (и наверное полулегальных) можно воспользоваться обычным android + google apps, там возможна установка гугловского синтезатора речи, для кучи языков, и по каждому можно подгрузить языковые данные для работы offline. Попробуйте все это в эмуляторе.

    Полулегальность - я подразумеваю что в лицензиях наверняка есть какие-нибудь запреты по построению систем синтеза и распознавания речи, иначе бы у гугла не было платного сервиса для того же самого но только онлайн.
    Ответ написан
    Комментировать
  • Как послать WM_LBUTTONDOWN без подключенного монитора?

    @rPman
    Если вы подключаетесь к серверу по rdp то после отключения сессия блокируется и GUI не работает

    Вам необходимо либо держать сессию rdp открытой либо подключиться к консоли например vnc/teamviewer (в датацентре провайдеры вам это не дадут)

    p.s. я решал проблему запуском десктопной windows в виртуалке, заодно оно работало на linux но с заметным понижением скорости
    Ответ написан
    2 комментария
  • Как реализовать рассылку на Вайбер, Вотсап, Телеграм?

    @rPman
    Легально проверить наличие - последовательно добавлять телефоны в контакт лист своего телефона и смотреть на реакцию чат-приложений.

    Легально организовать рассылку - нельзя. Судя по тому что я вижу в telegram там очень много ухищрений, чтобы это стало сложно.

    Пример бота рассылки сообщений - на базе web telegram, приложение эмитирует буквально добавление контакта, ввод посимвольно текста и прочее, само собой с фиктивных аккаунтов, ибо после спам деятельности они будут забанены почти моментально.
    Ответ написан
    2 комментария
  • Как принимать bitcoin платежи на сайте?

    @rPman
    итак, 2 главных правила:
    1. приватные ключи адресов, выдаваемых пользователям НЕ ДОЛЖНЫ храниться на веб-сервере, мало того, так как вы не выдаете монеты, храните их лично на своем (владельца сервиса) аппаратном кошельке
    2. bitcoind с ключом -prune 512 после прогрузки блокчейна будет занимать на диске примерно 6 гигабайт и через api будет полноценно работать с wallet.dat и адресами в нем в режиме просмотра и проверки прихода депозитов, запускать так же на сервере рядом с веб, на текущий момент этот демон может работать даже на малинке (файловую систему лучше использовать по сети на быстром файловом сервере, ибо у малинки только ОЧЕНЬ медленный usb), правда первичную загрузку лучше проводить на быстрой машине.

    Вам достаточно генерировать на своей локальной машине и импортировать на веб сервер большими пакетами адреса для приема платежей (по уму это не так обязательно делать постоянно, но настоятельно рекомендуется один платеж - новый адрес) и все, больше ваш кошелек не потребуется. Чтобы защититься от ddos опустошения адресов приема, подсовывайте клиентам старые адреса без входящих переводов.

    Существуют иные библиотеки, занимающие меньше ресурсов (подключаются напрямую к сети и не проводят никаких проверок кроме наличия подтверждения от майнеров, этого более чем достаточно), но формально они 'не официальные' (хотя это философский вопрос что есть официальное в децентрализованной криптовалюте, но если что то реализует, ломающее совместимость, то в первую очередь в bitcoind).

    Это самый правильный и простой способ организации приема платежей.

    p.s. ждите релиза lightning network, скоро это станет стандартом де факто для приема платежей

    p.p.s. Если у вас есть задача переводов от вас, то реализуйте ее на отдельном сервере, коммуникация между веб-сервером и этим платежным сервером должна проводиться через специальный модуль безопасности (и разработанный для этого api), перепроверяющий все что только можно, в идеале разработанный разработчиками, отличными от тех кто делал веб-сервер.
    Ответ написан
    3 комментария
  • Как определить размер папки на google drive, не скачивая на комп?

    @rPman
    Утилита, первый запуск выдаст ссылку подключения доступа к аккаунту
    gdrive-windows-x64.exe list -m 1000

    дальше выдаст список файлов и каталогов (1000 лимит вывода, увеличивайте если нехватает), сохраняете в текстовый файл и открываете экселем (таблица с колонками фиксированной позиции, с пробелами) или чем вам там удобнее, размер в human readble варианте, ну выкрутитесь как-нибудь (формулой в экселе например).
    ----------------
    Альтернатива:
    Плагин к total commander, загружаете, добавляете, подключаетесь, делаете поиск *, жмете 'на панель', выделяете все, смотрите внизу размер.

    Если плагин встретит каталог с символом / в имени, будет глючить и выдавать бесконечную рекурсию
    Ответ написан
    Комментировать
  • Сайт с API предоставляющий график криптовалюты?

    @rPman
    https://github.com/tradingview дает библиотеку для своего красивого графика
    Ответ написан
    Комментировать
  • Провайдер email с API доступа к содержимому почтовых ящиков

    @rPman
    Кажется вам лучше выбрать что-нибудь поддерживающее IMAP и воспользоваться какой-нибудь хорошей библиотекой на клиенте (или, если нужно, изобретите прослойку в виде сервера, тупо транслирующую вызовы по сети)
    Ответ написан
    1 комментарий
  • SMS шлюз с API (http) и бесплатной отправкой на личный номер

    @rPman
    Поделись в личку ссылку на сервис, пожалуйста.
    Ответ написан
  • Как програмно сделать ставку на Yahoo Auctions JP?

    @rPman
    Когда то работая с эмитацией действий пользователей на различных сайтах понял что каждый раз исследовать код сайта, изучать запросы и реверсить логику совсем не верная дорога, не надежная и сложная.

    Намного проще оказалось реализовать основную (или часть) логику автоматизации и анализа в самом браузере с помощью javascript (со всей мощью jquery и т.п.), запуская браузер в какой либо компоненте в своем приложении (я использовал mono и компоненту штатную WebBrowser, она основана как я понимаю на firefox), приложение спокойно собирается в cli и работает на 'безголовых' серверах linux, при этом нет нужды бороться с владельцем сайта, который борется с ботами и ддос, выявляя тех кто эмитируют POST и GET запросы с помощью curl…
    Ответ написан
  • Интернет-банкинг для юр. лиц. Посоветуйте банк с хорошим API или другими возможностями для автоматизации

    @rPman
    Объясните мне глупому, какого роды проблемы могут возникнуть у банка? Банки из принципа не хотят делать APi или все таки, как мне кажется, по глупости и заскорузлости мозга?

    Никто не говорит о бесплатности и никто не требует нечто супер-функциональное… самый минимум — прием платежей, создание счета, принятие счета, отказ счета,… это ТАК СЛОЖНО?
    Ответ написан
    4 комментария