如何以编程方式获取计算机上网用的公网IP地址
通过编程方式获取计算机IP地址并去困难,也许一个函数就能搞定,但是并不能直接取得计算机访问Internet时候用的公网IP地址。如果计算机本身具有公网IP地址(比如通过拨号上网的方式),那么计算机的IP地址就是公网IP地址。如果是局域网中的计算机通过代理服务器上网(通常我们在网吧上网、在单位上网都是如此),那么该计算机的公网IP地址通常就是代理服务器的地址,无论这种说法科学不科学,即使您不认同也没有关系,只要您明白我说的意思就行。我这里所说的通过间接方式,是指利用一些网站提供的编程服务,比如 http://www.kuainiu.com/tools/tool.php?t=ip,这个页面直接返回该请求所有的IP地址,没有其他多余的内容,这样的话就为我们编程提供了方便。使用我的一篇文章( http://blog.csdn.net/netcoder/archive/2007/08/28/1761849.aspx)里封装的方法GetPage,用下面的代码直接调用就可以
string ip=GetPage(" http://www.kuainiu.com/tools/tool.php?t=ip","");
如果是VB6.0,就用下面的函数就可以:
Public Function GetPublicIP()
Dim sSourceUrl As String
sSourceUrl = "http://www.kuainiu.com/tools/tool.php?t=ip"
Dim req As New MSXML2.ServerXMLHTTP
req.setTimeouts 5000, 5000, 5000, 5000
req.open "GET", sSourceUrl, False
req.send
Dim str As String
str = req.responseText
GetPublicIP = str
End Function