Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Нужно сделать программу, которая принимает http-запросы GET или POST и перенаправляет запрос на другой URL и отдает ответ.

пример работы программы по шагам:

1. приходит запрос на демон http://192.168.0.1:5555/proxy/url1/?a=1&b=c&d=werty

где url1 - означает что id URL = 1

2. записываем входной запрос в таблицу MySQL базы id | 2012-12-22 12:23:59 | /abc/xyz?a=1&b=c&d=werty (при включенном логировании пишутся еще http-заголовки которые отправил клиент)

3. выбираем в таблице MySQL - базы url c идентификатором = 1 (пусть это будет "http://ya.ru/blablabla/")

4. перенаправляем запрос на выбранный url: http://ya.ru/blablabla/?a=1&b=c&d=werty (да, такой момент: вх. запрос может быть GET или POST выходной должен быть соответствующий - можно, например, записать в поле таблицы какой тип запроса был)

5. полученный ответ отдать клиенту (при включенном логгировании ответ пишется в лог).

6. если ответа нет, то нужно записать в таблицу (которая использовалась в пункте 2) что запрос превысил таймаут.

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

8. нужна команда (которая отправлялась например через командную строку) по котрой бы он отвечал о своем статусе

9. нужна команда для перезагрузки/остановки/запуска демона с его процессами/потоками.

Комментарии:

думаю программа должна использовать SocketServer, fork, threading (в конфиге задается макс количество потоков, примерно 200)

Программа работает как демон слушает заданный в конфиге порт

Запрос URL-a может занять какое-то время - например, до 10 секунд, это не должно останавливать обработку других потоков.

з.ы. вот все ТЗ, аргументированные предложения по реализации приветствуются, пишите за какую сумму можете реализовать и срок выполнения.

8 лет назад
vshkuro
40 летРоссия
16 лет в сервисе
Был
2 года назад
  • Похожие заказы
  • $2800

    •Мужчина, возраст до 40 лет, высшее образование, •Опыт работы в аналогичной должности от 2 лет, •Опыт программирования на платформе 8.1 ОБЯЗАТЕЛЕН •Опыт разработки нетиповых конфигураций, •Опыт работы с планами обмена между конфигурациями, •Знания в области управленческого учета, •Знания в области CRM-систем, •ПК ...

    Закрыт
    11 лет назад
  • $20

    Для программы "Морской бой", написанной на дельфи, нужно сделать пульт управления (перед тем, как корабль из папки "Ship4" (Рейдер) сделает ход, рядом с ним должна появляться табличка с информацией о том, куда сейчас корабль сделает ...

    Закрыт
    11 лет назад
  • $10

    Создать резидентную программу, которая при нажатии на [Ctrl] + [M] изменяет атрибуты файлов с расширением *. Doc в текущей папке, устанавливая их свойства «для чтения» и составить блок схему к программе.

    Закрыт
    11 лет назад
  • Решить пример на ассемблере: (2*a+3*b)/(a-b). Переменные a, b вводятся с программы C++ (саму программу делать на C++ не надо). Шаблон: ;Инструкции процессора Pentium .586P ;Плоская модель памяти, соглашение о вызовах в стиле С .MODEL FLAT,C ;Сегмент данных DATA SEGMENT PUBLIC a, b, d, ...

    Закрыт
    11 лет назад
  • Есть программа usbgrab. Нужна ее доработка. О программе: Миниатюрная программа, которая делает не совсем корректную с точки зрения этики, но очень интересную с точки зрения любого хакера вещь. Она висит в памяти, а когда в компьютере ...

    Закрыт
    11 лет назад
  • Необходим reverse engineering формата общения программы с сервером, серверу отправляется информация в кодированная в url, сервер отправляет base64 encoding строку которая кодируется, формат обмена скорее всего xml (99%), ключ очевидно имеется в программе. EXE программы ...

    Закрыт
    11 лет назад
  • Нужна програмка комплексной смены стартовых страниц всех ниже указанных браузеров установленных в системе. С возможностью: 1.Показа какие стартовые страницы в каком браузере стоят в настоящий момент 2.Указать отдельную новую страницу для каждого браузера либо одну для всех 3. ...

    Закрыт
    11 лет назад
  • Здравствуйте Есть небольшой сервер на Java (сокеты), к нему по сети подсоединяются клиенты. Проблема в том, что при некорректном закрытии соединения клиентом (проблема в сети, умер клиентский процесс и тд) сервер по прежнему считает клиента живым. ...

    Закрыт
    11 лет назад