Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 11.09.2017, 08:15   #1
SpawNBK
 
Регистрация: 25.09.2013
Сообщений: 6
Репутация: 10
Восклицание Программная настройка роутер TP-Link - Delphi

Доброго времени. У меня такая проблема. delphi xe 10 + indy 10 (idhttp, coockie manager)
Пишу программу для автоперенастройки роутера Tp-Link (сейчас на руках модель wr841).
Сразу скажу - решение настройки через telnet не обсуждается. Там невозможно настроить dhcp сервер.

Отснифал трафик с роутера. get post запросы. Авторизация проходит успешно. Куки ловятся.
Вот скрины снифера:
Логин - 1 скрин.
1.png

В ответ на него падает кука, которую ловик coockie manager ( с этим все норм).
Настройка dhcp - 2,3 скрины.
2.png
3.png

При успешной настройке возвращает error 0
Я же получаю error 71111

А вот мой код. Я много вариантов тестил. Думал проблема с отправкой raw тела запроса, но нет....
Вариант первый:

Код:

idhttp1.Request.Clear;
idhttp1.Request.CustomHeaders.AddValue('Origin','http://192.168.0.1');
idhttp1.Request.UserAgent:='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36';
idhttp1.Request.ContentType:='text/plain';
idhttp1.Request.Accept:='*/*';
idhttp1.Request.Referer:='http://192.168.0.1/mainFrame.htm';
idhttp1.Request.AcceptEncoding:='gzip, deflate';
idhttp1.Request.AcceptLanguage:='en-US,en;q=0.8';
//idhttp1.Request.Username := 'admin';
//idhttp1.Request.Password := 'admin';
//idhttp1.Request.BasicAuthentication := True;
idhttp1.Request.CustomHeaders.AddValue('Cookie','Authorization=Basic YWRtaW46YWRtaW4=');
st:=TStringList.Create;
st.Add('[LAN_HOST_CFG#1,0,0,0,0,0#0,0,0,0,0,0]0,9');
st.Add('DHCPServerEnable=1');
st.Add('minAddress=192.168.0.104');
st.Add('maxAddress=192.168.0.199');
st.Add('IPRouters=192.168.0.1');
st.Add('DHCPLeaseTime=7200');
st.Add('domainName=');
st.Add('DNSServers=10.0.0.101,10.0.0.103');
st.Add('DHCPRelay=0');
st.Add('X_TP_DhcpRelayServer=0.0.0.0');
try
  memo1.Text:=IdHttp1.Post('http://192.168.0.1/cgi?2',st);
finally
 st.Free;
end;

Вариант 2: (header Тот же)

Код:

Params := TMemoryStream.Create;
with TStreamWriter.Create(Params, TEncoding.UTF8) do
    try
      NewLine := #13#10;
      WriteLine('[LAN_HOST_CFG#1,0,0,0,0,0#0,0,0,0,0,0]0,9');
      WriteLine('DHCPServerEnable=1');
      WriteLine('minAddress=192.168.0.104');
      WriteLine('maxAddress=192.168.0.199');
      WriteLine('IPRouters=192.168.0.1');
      WriteLine('DHCPLeaseTime=7200');
      WriteLine('domainName=');
      WriteLine('DNSServers=10.0.0.101,10.0.0.103');
      WriteLine('DHCPRelay=0');
      WriteLine('X_TP_DhcpRelayServer=0.0.0.0');
    finally
      Free;
    end;
    Params.Position := 0;
try
  memo1.Text:=IdHttp1.Post('http://192.168.0.1/cgi?2',Params);
finally
 Params.Free;
end;

Результат - ошибка...
Подскажите, что я делаю не так?
SpawNBK вне форума   Ответить с цитированием
Старый 12.09.2017, 10:01   #2
Slym
Профессионал
 
Регистрация: 07.12.2011
Адрес: Siberia
Сообщений: 1,021
Репутация: 759
По умолчанию

Версия прошивки какая?
у меня на TL-WR841N(RU)11.0
шлет
userRpm/LanDhcpServerRpm.htm?dhcpserver=1&i p1=192.168.0.100&ip2=192.168.0.199& Lease=120&gateway=192.168.0.1&domai n=&dnsserver=8.8.8.8&dnsserver2=0.0 .0.0&Save=%D0%A1%D0%BE%D1%85%D1%80% D0%B0%D0%BD%D0%B8%D1%82%D1%8C


нигде нет параметра DHCPRelay

http://www.tp-linkru.com/emulators.html
__________________
Не стесняемся, плюсуем!

Последний раз редактировалось Slym; 12.09.2017 в 10:10.
Slym вне форума   Ответить с цитированием
Старый 12.09.2017, 15:11   #3
SpawNBK
 
Регистрация: 25.09.2013
Сообщений: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
Версия прошивки какая?
у меня на TL-WR841N(RU)11.0
шлет
userRpm/LanDhcpServerRpm.htm?dhcpserver=1&i p1=192.168.0.100&ip2=192.168.0.199& Lease=120&gateway=192.168.0.1&domai n=&dnsserver=8.8.8.8&dnsserver2=0.0 .0.0&Save=%D0%A1%D0%BE%D1%85%D1%80% D0%B0%D0%BD%D0%B8%D1%82%D1%8C


нигде нет параметра DHCPRelay

http://www.tp-linkru.com/emulators.html
Новые модельки которые. 13 версия. Действительно посмотрел твой симулятор. там все гораздо проще

Последний раз редактировалось SpawNBK; 12.09.2017 в 15:13.
SpawNBK вне форума   Ответить с цитированием
Старый 30.10.2018, 22:05   #4
Helpoue
Новичок
 
Регистрация: 30.10.2018
Сообщений: 1
Репутация: 10
По умолчанию Решил вопрос?

Как-то решил свой вопрос. У меня такая-же проблема
Helpoue вне форума   Ответить с цитированием
Старый 31.10.2018, 10:37   #5
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,615
Репутация: 5352
По умолчанию

Цитата:
Сообщение от Helpoue Посмотреть сообщение
У меня такая-же проблема
извините, что вмешиваюсь в обсуждение.
А поясните, пожалуйста, а зачем настраивать роутер программно?
dhcpserver нельзя настроить один раз ручками и потом не трогать?
для чего это нужно?



p.s. я почему спрашиваю - может быть, мне это тоже надо, а я не знаю что это и для чего используется!
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 31.10.2018, 12:56   #6
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,826
Репутация: 2143
По умолчанию

Для автоматизации, пришел мальчик настраивать роутер, по бумажке запустил тулзу, вбил в нее пару адресов и получил деньги.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 31.10.2018, 13:14   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,615
Репутация: 5352
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Для автоматизации, пришел мальчик настраивать роутер, по бумажке запустил тулзу, вбил в нее пару адресов и получил деньги.

понятно.
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
D-Link как Ethernet-роутер? dariya.95 Железо 10 07.09.2015 20:32
Роутер TP-LINK tl-wr740n виснет sot147 Windows 0 02.11.2013 14:08
Выбивает WI-FI роутер TP-LINK TD-W8151N NoStR1986 Помощь студентам 4 26.09.2013 22:00
Роутер D-link Dir 300 NRU rev.B6 elagin Безопасность, Шифрование 0 08.10.2012 16:33
Роутер TP-LINK tl-wr543g(нет подключения) Damnar Железо 1 26.09.2011 19:51


02:14.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru