Получить IP-адрес в vb.net - PullRequest
       9

Получить IP-адрес в vb.net

1 голос
/ 09 сентября 2010

Я хочу получить текущий интернет-IP-адрес в vb.net. Я не хочу IP-адрес localhost. вроде как (http://www.ipchicken.com/ IP-адрес веб-сайта)

Ответы [ 6 ]

2 голосов
/ 09 сентября 2010

Я понимаю, что вам нужен IP-адрес в Интернете, а не IP-адрес вашей внутренней сети. У меня где-то есть код, который я вам раскопаю, но в основном он состоит из этого (из памяти):

  • Создание WebRequest и WebResponse объекта
  • Запрос веб-страницы (с помощью WebRequest), которая показывает ваш IP (например, IP Chicken ) и захват ответа в объекте WebResponse
  • Разбор ответа с использованием регулярных выражений для сбора вашего IP

Как я уже сказал, я постараюсь выкопать код, но этой информации должно быть более чем достаточно для работы: -)

1 голос
/ 10 сентября 2010

Вот то, что вы ищете.Я написал простой PHP-скрипт для возврата IP-адреса при вызове, затем написал этот код VB.Net для его вызова в любое время:

   Public Function jnWhatIsMyExternalIP() As String
      Dim strURL As String = "http://www.mycompanywebsite/jnNetworkTools/jnCheckIP.php"

      Dim Request As System.Net.WebRequest = System.Net.WebRequest.Create(strURL)
      Dim Response As System.Net.WebResponse = Request.GetResponse()

      Dim Reader As New System.IO.StreamReader(Response.GetResponseStream())
      Dim strMyIP As String = Reader.ReadToEnd()

      Return strMyIP
   End Function

Вот код PHP, который находится в jnCheckIP.php:

<?php
echo $_SERVER['REMOTE_ADDR'];
?>

При вызове функции VB.Net пользовательский компьютер вызывает PHP-скрипт на вашем сервере, который затем возвращает IP-адрес пользователя.

1 голос
/ 09 сентября 2010

Примерно так должен получиться ваш текущий публичный IP.

Public Class Form1

    Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
        AddHandler wb.DocumentCompleted, AddressOf wb_DocumentCompleted
    End Sub

    Public WithEvents wb As New WebBrowser
    'before using wb add
    'AddHandler wb.DocumentCompleted, AddressOf wb_DocumentCompleted
    Private Sub GetPubIP()
        Try
            'the site returns a string like "Current IP Address: 69.59.196.211"
            wb.Navigate(New Uri("http://checkip.dyndns.org"))
        Catch ex As Exception
            'add error checking
        End Try
    End Sub

    Private Sub wb_DocumentCompleted(ByVal sender As Object, _
                                     ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)
        'parse the reply
        Dim parts() As String = wb.Document.Body.InnerText.Split(":"c)
        Debug.WriteLine(parts(1).Trim)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, _
                              ByVal e As System.EventArgs) Handles Button1.Click
        GetPubIP()
    End Sub
End Class
0 голосов
/ 27 мая 2014
Function GetIP() As String
    Dim IP As New WebClient
    Return IP.DownloadString("http://icanhazip.com/")
End Function
0 голосов
/ 09 сентября 2010
0 голосов
/ 09 сентября 2010

Вы можете узнать реальный IP-адрес, только если ваш хост (ПК) имеет статический IP-адрес в Интернете, а не 194.xxx или 10.xxx и другие http://en.wikipedia.org/wiki/Private_network В противном случае попробуйте отправить http-запрос на обслуживание, например, www.ipchicken.com или другие http://www.google.ru/search?hl=en&q=my+ip+address, чтобы узнать ваш IP-адрес

...