如何查看(或用VB.NET之类的程序)电脑的公网IP如果你是拨号连接,你就直接在宽带连接的详细信息里面看,那就有 , 要是通过家用路由器上网,就登录路由器,在状态里面也可以看到的
vb 如何获取外网ipvb 如何获取外网ip代码:
'获取公网IP
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
ByVal sAgent As String, ByVal lAccessType As Long, _
ByVal sProxyName As String, ByVal sProxyBypass As String, _
ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" ( _
ByVal hInternetSession As Long, ByVal sUrl As String, _
ByVal sHeaders As String, ByVal lHeadersLength As Long, _
ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" ( _
ByVal hFile As Long, ByVal sBuffer As String, _
ByVal lNumBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" ( _
ByVal hInet As Long) As Integer
Private Const INTERNET_FLAG_NO_CACHE_WRITE = H4000000
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Public Function GetSub() As String
Dim wburl$, wburl2$, X1, X2, X3, X4
On Error GoTo err
wburl = ""
wburl = GetUrlFile(wburl)
If InStr(1, wburl, "无法找到该页") = 0 Then
X1 = InStr(1, wburl, "[")
X2 = InStr(1, wburl, "]")
X1 = Mid(wburl, X1, X2 - X1)
X1 = Replace(X1, "[", "")
X1 = Replace(X1, " ", "")
X1 = Replace(X1, vbCrLf, "")
GetSub = X1
Exit Function
End If
wburl2 = ""
wburl2 = GetUrlFile(wburl2)
If InStr(1, wburl2, "无法找到该页") = 0 Then
X3 = InStr(1, wburl2, "h2")
X4 = InStr(1, wburl2, "/h2")
X3 = Mid(wburl2, X3, X4 - X3)
X3 = Replace(X3, "h2", "")
X3 = Replace(X3, " ", "")
X3 = Replace(X3, vbCrLf, "")
【vb.net获取公网ip vbnet如何调用api函数】GetSub = X3
Exit Function
Else
GetSub = "127.0.0.1"
End If
err:
GetSub = "127.0.0.1"
End Function
Private Function GetUrlFile(stUrl As String) As String
Dim lgInternet As Long, lgSession As Long
Dim stBuf As String * 1024
Dim inRes As Integer
Dim lgRet As Long
Dim stTotal As String
stTotal = vbNullString
lgSession = InternetOpen("VBTagEdit", 1, vbNullString, vbNullString, 0)
If lgSession Then
lgInternet = InternetOpenUrl(lgSession, stUrl, vbNullString, _
0, INTERNET_FLAG_NO_CACHE_WRITE, 0)
If lgInternet Then
Do
inRes = InternetReadFile(lgInternet, stBuf, 1024, lgRet)
stTotal = stTotalMid$(stBuf, 1, lgRet)
Loop While (lgRet0)
End If
inRes = InternetCloseHandle(lgInternet)
End If
GetUrlFile = stTotal
End Function
使用方法:
在form中调用GetSub就行了 。
List1.AddItem ("公网IP:"GetSub + "..") 。
VB2013,VB.net 外网IP获取问题!直接对服务器请求 。(该服务器要有相对的功能,连线后控件属性即包含,可设置自动回报)
找一个网页 , 内容含有显示浏览者ip的网址 。抓该网页的内容分析获取外网的字串 。
提供一个安全网址给你:
是APNIC亚洲数据中心的首页的子页
VB.NET2010 怎么获取IP1.获取当前电脑名:System.Net.Dns.GetHostName()
2.根据电脑名取出全部IP地址:System.Net.Dns.Resolve(电脑名).AddressList
或者 System.Net.Dns.GetHostByName(电脑名).AddressList
3.根据IP地址取出电脑名:System.Net.Dns.Resolve(IP地址).HostName
- redis怎么获取list的值 redis中存取list
- 如何获取云服务器的源代码? 云服务器源代码怎么弄
- mysqli获取所有数据 mysql的提取函数
- mongodb添加节点 mongodb获取主节点ip
- mysql中更新数据的命令 mysql获取更新前数据
- redis取值偶尔取不到 redis获取键出现乱码
- redis获取所有key和value命令 redis获取属性为空
- redis获取所有键值对 redis取得所有数据
- mysqli获取所有数据 mysql取任意n条数据
- mysql获取上月末 mysql获取上季初日期
