Foxtable(狐表)用户栏目专家坐堂 → 如何获取本机的公网IP


  共有2907人关注过本帖树形打印复制链接

主题:如何获取本机的公网IP

帅哥哟,离线,有人找我吗?
sky-18
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
如何获取本机的公网IP  发帖心情 Post By:2019/4/12 9:19:00 [只看该作者]

如题,如何获取本机的IP地址呢?
本机作为服务器使用,每次IP变化都要去百度查IP。有没有办法能自动获取本机的公网IP呢?

 回到顶部
帅哥哟,离线,有人找我吗?
sky-18
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2019/4/12 11:08:00 [只看该作者]

自己顶上去。老师们指点一下。。。。

 回到顶部
帅哥哟,离线,有人找我吗?
ruan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:468 积分:4945 威望:0 精华:0 注册:2011/8/20 18:40:00
  发帖心情 Post By:2019/4/12 11:17:00 [只看该作者]

Dim httpURL As New System.Uri("http://2019.ip138.com/ic.asp")
Dim httpReq As System.Net.HttpWebRequest = System.Net.WebRequest.Create(httpURL)
httpReq.Method = "GET"
Dim httpResp As System.Net.HttpWebResponse = httpReq.GetResponse()
httpReq.KeepAlive = False
Dim reader As New IO.StreamReader(httpResp.GetResponseStream, System.Text.Encoding.GetEncoding(-0))
Dim respHTML As String = reader.ReadToEnd()


Dim wip As String  ''外网IP
Dim qy As String   '.IP所属区域

Dim mc = System.Text.RegularExpressions.Regex.Matches(respHTML , "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
If mc.count > 0 Then
    wip = mc(0).value
    Dim ss As String = respHTML.SubString(respHTML.IndexOf("来自")+3)
    qy = ss.SubString(0,ss.IndexOf("<"))
End If
 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/12 13:06:00 [只看该作者]

你可以用比如花生壳之类的,固定你的ip地址(也就是用域名)。

 

直接获取,参考

 

Dim httpURL As New System.Uri("http://2019.ip138.com/ic.asp")
Dim httpReq As System.Net.HttpWebRequest = System.Net.WebRequest.Create(httpURL)
httpReq.Method = "GET"
Dim httpResp As System.Net.HttpWebResponse = httpReq.GetResponse()
httpReq.KeepAlive = False
Dim reader As New IO.StreamReader(httpResp.GetResponseStream, System.Text.Encoding.GetEncoding(-0))
Dim respHTML As String = reader.ReadToEnd()

 


Dim wip As String  ''外网IP
Dim qy As String   '.IP所属区域


Dim mc = System.Text.RegularExpressions.Regex.Matches(respHTML , "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
If mc.count > 0 Then
    wip = mc(0).value
    Dim ss As String = respHTML.SubString(respHTML.IndexOf("来自")+3)
    qy = ss.SubString(0,ss.IndexOf("<"))
End If

msgbox(wip)
 


 回到顶部
帅哥哟,离线,有人找我吗?
sky-18
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2019/4/12 13:58:00 [只看该作者]

谢谢老师们,,感激不尽


 回到顶部
帅哥哟,离线,有人找我吗?
sky-18
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2019/5/12 7:36:00 [只看该作者]

以下是引用有点甜在2019/4/12 13:06:00的发言:

你可以用比如花生壳之类的,固定你的ip地址(也就是用域名)。

 

直接获取,参考

 

Dim httpURL As New System.Uri("http://2019.ip138.com/ic.asp")
Dim httpReq As System.Net.HttpWebRequest = System.Net.WebRequest.Create(httpURL)
httpReq.Method = "GET"
Dim httpResp As System.Net.HttpWebResponse = httpReq.GetResponse()
httpReq.KeepAlive = False
Dim reader As New IO.StreamReader(httpResp.GetResponseStream, System.Text.Encoding.GetEncoding(-0))
Dim respHTML As String = reader.ReadToEnd()

 


Dim wip As String  ''外网IP
Dim qy As String   '.IP所属区域


Dim mc = System.Text.RegularExpressions.Regex.Matches(respHTML , "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
If mc.count > 0 Then
    wip = mc(0).value
    Dim ss As String = respHTML.SubString(respHTML.IndexOf("来自")+3)
    qy = ss.SubString(0,ss.IndexOf("<"))
End If

msgbox(wip)
 

我要在计划里设置上面代码的任务,好让项目按规定的时间间隔自动获取并生成ip地址。问题来了。一旦出现断网的情况以上代码会弹出错误提示。怎样能自动判断是否断网,以避免错误提示的出现呢?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/12 22:04:00 [只看该作者]

方法一:加入判断代码,如

 

http://www.foxtable.com/webhelp/scr/2709.htm

 

方法二:加入try catch

 

http://www.foxtable.com/webhelp/scr/2709.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
浙江仔
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1326 积分:9609 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2019/5/13 8:20:00 [只看该作者]

以下是引用sky-18在2019/4/12 9:19:00的发言:
如题,如何获取本机的IP地址呢?
本机作为服务器使用,每次IP变化都要去百度查IP。有没有办法能自动获取本机的公网IP呢?

你这个问题使用动态域名,采用域名方式连接网络比较好


 回到顶部