delphi 怎么写获取外网ip
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 怎么写获取外网ip相关的知识,希望对你有一定的参考价值。
用Delphi语言怎么写个可以通过ip138.com网站,获取外网ip让后保存在d盘里知道的告诉我下,谢谢了
delphi7 也可以吗
var
s: string;//s 就是你需要的 XML 字符串,解析它则可得到你需要的 IP 地址
begin
s := IdHTTP1.Get('http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx/getGeoIPContext');
end; 参考技术B 需要delphi5或者6
FastNet组件板上的NMhttp控件
http://hi.baidu.com/killerprince/blog/item/f4afe80f655d12ec37d1222a.html 参考技术C 首先我838本回答被提问者采纳
请问 C# 如何获取外网IP?
做一个C/S程序,客户端和服务器之间可以通过外网相互连接进行通信
遇到的问题是客户端如何获取本机的外网IP
还有客户端如果用路由器、交换机上网
服务器连接客户端时,怎么访问客户端,只知道外网IP应该不能访问吧?
是不是外网IP和内网IP都要知道啊
具体用什么实现,谁知道帮忙解决一下!
帮忙解决了可以加分啊!
路由什么的是基于NAT的,根本不需要知道客户端的真实地址是什么,服务端地址固定住就好了。当客户端与服务端连接时(建立Sockets)经过路由,路由会NAT给客户端一个地址(包含IP和端口号两部分),服务端只需要往这个地址上发送信息,路由器识别你这个地址会自动转发给相应的真正的客户端的,这也就是路由的本身作用。 参考技术A C# 获取外网IP方法:
private static string GetIP()
string tempip = "";
try
WebRequest wr = WebRequest.Create("http://www.ip138.com/ips138.asp");
Stream s = wr.GetResponse().GetResponseStream();
StreamReader sr = new StreamReader(s, Encoding.Default);
string all = sr.ReadToEnd(); //读取网站的数据
int start = all.IndexOf("您的IP地址是:[") + 9;
int end = all.IndexOf("]", start);
tempip = all.Substring(start, end - start);
sr.Close();
s.Close();
catch
return tempip;
参考技术B 外网IP获取不了的。外网IP的获取,是通过访问外网的网站,由网站获取你的IP,然后返回给你,你自己获取不到的,只能获取本地的IP。
以上是关于delphi 怎么写获取外网ip的主要内容,如果未能解决你的问题,请参考以下文章