以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  怎样编程获取公网IP地址并通知?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=128075)

--  作者:jacksn
--  发布时间:2018/11/28 12:57:00
--  怎样编程获取公网IP地址并通知?
公司是用不固定的公网IP。但我希望在家里可以连接公司的远程桌面和sql服务器,我想编一个foxtable的小程序能在公网IP改变时发送信息给我(可以用email或其他形式),让我知道公司的IP就可以连接了。
这个小程序的思路应该如何呢?怎样获取公网IP?请大神指导

--  作者:jacksn
--  发布时间:2018/11/28 14:32:00
--  
我在命令窗口运行以下代码
Dim WinHttpReq As Object = CreateObject("Msxml2.ServerXMLHTTP")
WinHttpReq.Open("GET", "http://www.ip138.com/ip2city.asp")
WinHttpReq.Send
\'正则表达式解析出外网IP
Dim MyRegExp
MyRegExp = CreateObject("VBScript.RegExp")
MyRegExp.Pattern = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"
MyRegExp.IgnoreCase = True
MyRegExp.Global = True
Dim Matches As object = MyRegExp.Execute(WinHttpReq.ResponseText)
Return Matches.Item(0).Value
时显示:操作超时 错误

--  作者:有点甜
--  发布时间:2018/11/28 14:56:00
--  

1、你可以试试这个事件

 

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

 

2、如果你希望获取外网ip,参考

 

Dim WinHttpReq As Object = CreateObject("Msxml2.ServerXMLHTTP")
WinHttpReq.Open("GET", "http://2018.ip138.com/ic.asp")
WinHttpReq.Send
\'正则表达式解析出外网IP
Dim str As String = WinHttpReq.ResponseText
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+")
If mc.count > 0 Then
    Return mc(0).value

Else
    Return Nothing
End If


--  作者:wei0769
--  发布时间:2020/4/13 15:38:00
--  

公司IP地址还需要是外网IP地址