WebRequest и прокси - страница 2

 
Edgar Akhmadeev:

2. Рассматривал. Для аудитории библиотеки в маркете неприемлемо. Для себя - нормальное решение, но в данном случае проще использовать wininet.dll, и это работает.

Для аудитории библиотеки как раз без разницы - прописывать прокси или адрес в списке разрешенных - одно действие.

 
Stanislav Korotky:

Для аудитории библиотеки как раз без разницы - прописывать прокси или адрес в списке разрешенных - одно действие.

Поднимать сервер мной - неприемлемо. Весь трафик клиента на его мессенджер пойдёт через меня. Оно ему надо? Мне содержать сервер. Оно мне надо?

Поднимать сервер клиентом - оно ему надо?

Пока нормальных решений вижу 3:

1. Лучшее - разобраться с прокси для WebRequest(). Ждём от MQ разочарования или обещания реализовать.

2. Альтернатива - разобраться с сокетами.

3. Придумать, как использовать wininet.dll для библиотеки в маркете и чтобы мне ничего за это не было. Сконструировать библиотеку так, чтобы dll пользователи подключали самостоятельно. Думаю, реально, "но я подумаю об этом завтра" (c)

 

Подниму тему. Что пробовал:

  1. Добавлял адрес прокси в WebRequest.
  2. Добавлял прокси в настройках системы, чтобы даже браузеры заходили под ним.
  3. Обращался напрямую к прокси. Ответ в этом случае - сброс соединения.

В первых двух случаях результат тот же, что и у ТС - код 1001.

Возможно, за пять лет у кого-то появилась информация о том, как работать с WebRequest через прокси?

 
Edgar Akhmadeev:

Вопрос к разработчикам, или к тем, кто разобрался с проблемой.

Попытался подключиться к известному bot API через TOR VPN, который может работать как socks proxy. Настроил в MT5 прокси-сервер, нажал кнопку проверки, тест прошёл. Терминал переподключился, всё работает. Но WebRequest() всё равно не работает. Долгая пауза и ошибка 1001.

WebRequest() не идёт через прокси из настроек терминала? Или проблема в другом?

Если так проблему не решить, какой есть вариант для доступа к bot API?

Через wininet.dll можно? Только что пришло в голову. Завтра буду смотреть его, но может кто подскажет.

можно поднять reverse-proxy и от MetaTrader общаться исключительно через него. 

в настройках разрешений MetaTrader будет только  127.0.0.1 127.0.0.2 127.0.0.3 (можно даже произвольные имена, если их прописать в system32/etc/hosts

а reverse-prоxy уже от них  перенаправит куда и как надо. Заодно и ограничение с нестандартными портами обходится.

https://httpd.apache.org/docs/trunk/howto/reverse_proxy.html

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

 
Maxim Kuznetsov #:

можно поднять reverse-proxy и от MetaTrader общаться исключительно через него. 

Спасибо. В копилку.