vb 不上ip 138 获取外网IP vb 如何获取外网ip

\u8bf7\u95eeVB\u600e\u6837\u83b7\u53d6\u672c\u673a\u5916\u7f51\u52a8\u6001\u7684IP\u5730\u5740\u554a\uff08\u4e0d\u662f\u901a\u8fc7\u8bbf\u95eeip138\u7f51\u9875\u7684\u65b9\u5f0f\u83b7\u53d6\uff09

\u6211\u4eec\u77e5\u9053\u5185\u7f51ip\u548c\u5916\u7f51ip\u53ef\u80fd\u4e0d\u540c\uff0c\u8fd9\u6d89\u53ca\u5230\u201c\u7f51\u7edc\u5730\u5740\u8f6c\u6362\u201d\uff08NAT\uff09\u3002
\u4e8b\u5b9e\u4e0a\uff0c*\u53ea\u6709*\u548c\u516c\u7f51\u8054\u7edc\u624d\u6709\u53ef\u80fd\u83b7\u53d6\u5916\u7f51ip\u5730\u5740\uff0c\u76f4\u63a5\u7528winsock\u7684localip\u5c5e\u6027\uff0c\u6216\u8005ipconfig\u4e4b\u7c7b\u7684\u65b9\u6cd5\uff08\u5728\u5185\u5916\u7f51ip\u4e0d\u540c\u7684\u60c5\u51b5\u4e0b\uff09\u83b7\u53d6\u7684\u90fd\u662f\u5185\u7f51ip\uff01
\u83b7\u53d6\u5916\u7f51ip\u53ef\u4ee5\u7528\u4f60\u8bf4\u7684ip138\u7f51\u9875\u7684\u65b9\u5f0f\uff0c\u53ef\u4ee5\u901a\u8fc7winsock\u3001inet\u3001xmlhttp\u3001webbrowser\u7b49\u7ec4\u4ef6\u6765\u83b7\u53d6\u8fdc\u7a0b\u670d\u52a1\u5668\u8fd4\u56de\u7684\u6570\u636e\uff0c\u5373\u5916\u7f51ip\u2014\u2014\u4ece\u670d\u52a1\u5668\u7684\u89d2\u5ea6\u770b\u7684\u4f60\u7684ip\u5730\u5740\u3002\u6b64\u5916\u4e5f\u53ef\u4ee5\u4f7f\u7528STUN\u534f\u8bae\u3002\u603b\u4e4b\uff0c\u8fd9\u4e9b\u65b9\u6cd5\u90fd\u9700\u8981\u5904\u5728\u5916\u7f51\u7684\u670d\u52a1\u5668\uff0c\u56e0\u4e3aNAT\u8bbe\u5907\u662f\u4e0d\u4f1a\u8ba9\u5185\u7f51\u4e3b\u673a\u83b7\u53d6\u5176ip\u6620\u5c04\u8868\u7684\u3002

\u6211\u53ef\u4ee5\u5b9e\u73b0\u4e0a\u8ff0\u63d0\u5230\u7684\u6bcf\u4e00\u79cd\u83b7\u53d6\u5916\u7f51ip\u7684\u65b9\u6cd5\u3002\u5982\u6709\u9700\u8981\u8bf7\u8ffd\u95ee

vb \u5982\u4f55\u83b7\u53d6\u5916\u7f51ip\u4ee3\u7801\uff1a
'\u83b7\u53d6\u516c\u7f51IP
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 = "http://www.ip138.com/ip2city.asp"
wburl = GetUrlFile(wburl)
If InStr(1, wburl, "\u65e0\u6cd5\u627e\u5230\u8be5\u9875") = 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 = "http://www.net.cn/static/customercare/yourIP.asp"
wburl2 = GetUrlFile(wburl2)
If InStr(1, wburl2, "\u65e0\u6cd5\u627e\u5230\u8be5\u9875") = 0 Then
X3 = InStr(1, wburl2, "")
X4 = InStr(1, wburl2, "")
X3 = Mid(wburl2, X3, X4 - X3)
X3 = Replace(X3, "", "")
X3 = Replace(X3, " ", "")
X3 = Replace(X3, vbCrLf, "")
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 = stTotal & Mid$(stBuf, 1, lgRet)
Loop While (lgRet 0)
End If
inRes = InternetCloseHandle(lgInternet)
End If
GetUrlFile = stTotal
End Function
\u4f7f\u7528\u65b9\u6cd5\uff1a
\u5728form\u4e2d\u8c03\u7528GetSub\u5c31\u884c\u4e86\u3002
List1.AddItem ("\u516c\u7f51IP:" & GetSub + "..")\u3002

原来的http://www.ip138.com获取不了,现在要在原网址末尾增加一个“/ip2city.asp”即可取得啦。完整网址是:http://www.ip138.com/ip2city.asp

如下图所示:



可以调用tracert

扩展阅读:免费ip软件 ... 手机位置定位查询 ... xlive最新破解6.4 ... 718 ts浏览器 ... xlive5.5最新清爽版apk ... 查询定位 ... xlive5.5最新版本 ... 本机ip ... s7epaapi ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网