Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > 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,003
Репутация: 659
По умолчанию

Версия прошивки какая?
у меня на 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 вне форума   Ответить с цитированием
Ответ



Опции темы

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

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




20:33.


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

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


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