• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

esp8266 и прокси

jsore

New member
На работе есть прокси. Есть ли возможности у esp8266 по работе через прокси. Пытался найти что-нибудь подобное в интернете о работе с прокси, но ничего не удалось найти. Может кто-нибудь сталкивался?
 

Алексей.

Active member
jsore,
А в чем вопрос? Что за прокси (какой протокол)? Какие на порты разрешает соединяться прокси? Что должен делать есп которому нужно пройти через прокси?
Пример:
На работе прокси разрешает соединяться только по протоколам http/https, соответственно порты 80/443, в этой же сети на есп должен работать mqtt клиент, никаких http не требуется.
Вопрос: как клиенту пройти через этот прокси бесплатно?
Ответ: никак.
 

jsore

New member
jsore,
А в чем вопрос? Что за прокси (какой протокол)? Какие на порты разрешает соединяться прокси? Что должен делать есп которому нужно пройти через прокси?
Пример:
На работе прокси разрешает соединяться только по протоколам http/https, соответственно порты 80/443, в этой же сети на есп должен работать mqtt клиент, никаких http не требуется.
Вопрос: как клиенту пройти через этот прокси бесплатно?
Ответ: никак.
Об этом прокси ничего не знаю. Знаю ip и порт, которые нужно ввести на компьютере, чтобы можно было выйти в интернет
 

Алексей.

Active member
На lua у объекта http что то не видно ничего готового для работы через прокси
 

NeoroN

Member
А руками написать - конечно не получится, это же программистом надо быть. Все возможно просто надо взять и написать - небыло FTP сервера на lua - взял и написал. Пусть местами говнокод с утечками, но работает.
Вот так и с прокси - самое простое это HTTP прокси - там просто 2 заголовка отправляется: один для прокси - говорит что и куда, другой для запрашиваемого сервера.
 

jsore

New member
А руками написать - конечно не получится, это же программистом надо быть. Все возможно просто надо взять и написать - небыло FTP сервера на lua - взял и написал. Пусть местами говнокод с утечками, но работает.
Вот так и с прокси - самое простое это HTTP прокси - там просто 2 заголовка отправляется: один для прокси - говорит что и куда, другой для запрашиваемого сервера.
Да тут ничего и придумывать не надо. Подключается к прокси. Вот такой код работает:
Код:
conn = net.createConnection(net.TCP, 0)
conn:on("receive", function(sck, payload) print(payload) end)
conn:on("connection", function(sck)
  print("connection to proxy established")
  sck:send("GET / HTTP/1.1\r\nHost: portscan.ru\r\nConnection: close\r\n\r\n")
end)
conn:connect(port, ip)
Но с прокси, который у меня на работе, не работает. Точнее, я заметил, что с портом 3128 не хочет работать.
 
Последнее редактирование:

Алексей.

Active member
А руками написать
Да можно написать, только вопрос где? В скрипте реализовать http протокол после выполнения метода коннект както не кошерно, сделать форк для существующей реализации http было бы правильнее.
И вопрос что писать? Для метода коннект делать поддержку аутентификации или нет, если делать то обойтись базовой или еще и дайджест поддержать?
 

nikolz

Well-known member
Да тут ничего и придумывать не надо. Подключается к прокси. Вот такой код работает:
Код:
conn = net.createConnection(net.TCP, 0)
conn:on("receive", function(sck, payload) print(payload) envj;tn p;d)
conn:on("connection", function(sck)
  print("connection to proxy established")
  sck:send("GET / HTTP/1.1\r\nHost: portscan.ru\r\nConnection: close\r\n\r\n")
end)
conn:connect(port, ip)
Но с прокси, который у меня на работе, не работает. Точнее, я заметил, что с портом 3128 не хочет работать.
возможно что-то полезное есть здесь:
Need to set proxy for the Access point - Everything ESP8266
Syntax for WiFi configuration with proxy settings in Lua scripts
 
Сверху Снизу