crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Как получить свой внешний IP-адрес?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Sokoloff Дата 21.10.2010, 14:33
 
Цитата(Rocky @ 19.11.2009, 20:47) *
есть мой комп, он подключен через комуникатор к роутеру который в свою очередь смотрит на свич провайдера, т.е. в интеренет по сути... Т.е. грубо говоря есть роутер, который скрывает небольшую локальную сеть...

Я пока только тестами занимаюсь.. Просто хочу в программу (по работе) встроить модуль, который бы слал мне на почту ip-адрес машины, с которой запущен... Нужно не для хака, а чтобы удаленно просматривать логи программы...

Может тебе нужен DynDNS или его аналоги?
А как планируешь проскочить через NAT, порты пробросишь?
kwisp Дата 18.10.2010, 9:53
  Rocky,
мне вот этот кусок не понятен ((
Цитата(Rocky @ 19.11.2009, 23:43) *
m_sCurrentDynIP = sText.mid(n, 15);        //255.255.255.255     
const int nLength = m_sCurrentDynIP.length();     
for (int i = 0; i < nLength; ++i)     
{         
const QChar sSymbol = m_sCurrentDynIP.at(i);         
if (sSymbol.isDigit() || sSymbol == '.') continue;         
m_sCurrentDynIP.replace(i, 1, " ");     
}     
m_sCurrentDynIP = m_sCurrentDynIP.trimmed();


m_sCurrentDynIP = sText.mid(n, 15);        //255.255.255.255     
const int nLength = m_sCurrentDynIP.length();

разве тут не очевидно, что nLength == 15 ?

назначение цикла вообще не пойму.

П.С.
ну и oRegExp не уж то по короче сделать никак?
Алексей1153 Дата 16.10.2010, 20:08
  bigory, строка, скорее всего (QString)
bigory Дата 16.10.2010, 19:59
  m_sCurrentDynIP что за переменная?
Как мне ее передать в Label?
Rocky Дата 19.11.2009, 22:43
  Вобщем, если кому нужно будет:
CDifferentSettingsDialog::CDifferentSettingsDialog(...)
{
...
    m_pHttp = new QHttp();
    QDialog::connect(m_pHttp, SIGNAL(done(bool)), this, SLOT(OnReadyRead()));
    m_pHttp->setHost("2ip.ru");
    m_pHttp->get("/index.php");
...
}
void CDifferentSettingsDialog::OnReadyRead()
{
    m_sCurrentDynIP = "";

    const QString sText = m_pHttp->readAll();
    const QRegExp oRegExp("((1{0,1}[0-9]{0,2}|2[0-4]{1,1}[0-9]{1,1}|25[0-5]{1,1})\\.){3,3}(1{0,1}[0-9]{0,2}|2[0-4]{1,1}[0-9]{1,1}|25[0-5]{1,1})");
    
    const int n = sText.indexOf(oRegExp);
    if (n == -1) return;

    m_sCurrentDynIP = sText.mid(n, 15);        //255.255.255.255
    const int nLength = m_sCurrentDynIP.length();
    for (int i = 0; i < nLength; ++i)
    {
        const QChar sSymbol = m_sCurrentDynIP.at(i);
        if (sSymbol.isDigit() || sSymbol == '.') continue;
        m_sCurrentDynIP.replace(i, 1, " ");
    }

    m_sCurrentDynIP = m_sCurrentDynIP.trimmed();
}
Rocky Дата 19.11.2009, 22:08
  Посмотрю, спасибо. Щас попробую еще таким же образом с 2ip.ru вытянуть инфу... Интересно :)
Litkevich Yuriy Дата 19.11.2009, 21:51
 
Цитата(Rocky @ 20.11.2009, 0:41) *
Терь осталось на сайт фирмы написать такой вот скриптик и все
а может у IANA есть стандартный сервис?

наподобие http://example.com/
Rocky Дата 19.11.2009, 21:41
  гыыы
Есть. Надо так:
m_pHttp->get("/myip.php");

Всем спасибо ))
Терь осталось на сайт фирмы написать такой вот скриптик и все :)
grio Дата 19.11.2009, 21:40
 
Цитата
QUrl("www.grio.ru/myip.php").host();
QUrl("www.grio.ru/myip.php").path();

ну как то так...
Rocky Дата 19.11.2009, 21:24
  Хм.... что не так делаю, не получается ((
{
...
    m_pHttp = new QHttp();
    QDialog::connect(m_pHttp, SIGNAL(done(bool)), this, SLOT(OnReadyRead()));
    m_pHttp->setHost("www.grio.ru");
    m_pHttp->get(QUrl::toPercentEncoding("/myip.php"));
...
}

void CDifferentSettingsDialog::OnReadyRead()
{
    QMessageBox::information(this, m_pMessage->GetMessage(eHeader), m_pHttp->readAll());
}

QMessageBox выдает сообщение: "ошибка 404 и т.д." :(
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 20:23