crossplatform.ru

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

> Как получить свой внешний IP-адрес?
Rocky
  опции профиля:
сообщение 19.11.2009, 18:52
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Всем привет! Как это можно сделать? Я могу только получить ip, заданный для локальной сети... А как получить свой реальный интернетный ip?

Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Rocky
  опции профиля:
сообщение 19.11.2009, 22:43
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Вобщем, если кому нужно будет:
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:45
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Rocky   Как получить свой внешний IP-адрес?   19.11.2009, 18:52
- - dim_san   QNetworkInterface::allAddresses();   19.11.2009, 19:24
- - Rocky   неа, возвращает внутренний локальный - 192.168.0.2...   19.11.2009, 19:27
- - dim_san   а как подключение то организовано?   19.11.2009, 19:34
- - Rocky   есть мой комп, он подключен через комуникатор к ро...   19.11.2009, 19:47
- - DmP   Rocky, нужно что бы кто то из вне сказал какой IP....   19.11.2009, 20:05
- - Rocky   ахха, спасибо как раз на нем сейчас сижу ))) Вооб...   19.11.2009, 20:12
- - Rocky   О! Я уже сделал чтобы программа посылала письм...   19.11.2009, 20:42
|- - grio   Цитата(Rocky @ 19.11.2009, 20:42) О! ...   19.11.2009, 20:52
- - Rocky   Хм.... что не так делаю, не получается (( { ... m...   19.11.2009, 21:24
|- - grio   ЦитатаQUrl("www.grio.ru/myip.php").host(...   19.11.2009, 21:40
- - Rocky   гыыы Есть. Надо так: m_pHttp->get("/my...   19.11.2009, 21:41
- - Litkevich Yuriy   Цитата(Rocky @ 20.11.2009, 0:41) Терь ост...   19.11.2009, 21:51
- - Rocky   Посмотрю, спасибо. Щас попробую еще таким же образ...   19.11.2009, 22:08
- - Rocky   Вобщем, если кому нужно будет: CDifferentSettingsD...   19.11.2009, 22:43
- - bigory   m_sCurrentDynIP что за переменная? Как мне ее пере...   16.10.2010, 19:59
- - Алексей1153   bigory, строка, скорее всего (QString)   16.10.2010, 20:08
- - kwisp   Rocky, мне вот этот кусок не понятен (( Цитата(Ro...   18.10.2010, 9:53
- - Sokoloff   Цитата(Rocky @ 19.11.2009, 20:47) есть мо...   21.10.2010, 14:33


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 10:23