如何通过一个编程获得IP地址归属地的最简单办
发布网友
发布时间:2022-04-23 12:44
我来回答
共1个回答
热心网友
时间:2022-05-02 00:20
有时在网站应用程序中要显示对方的IP地址与它的归属地,一般来说,有下列几种办法。
1, 采用IP地址数据库。本地查询
这个办法的优点是:查询速度最快,不依赖于外部网站。
缺点是:要编写一定的数据库查询代码,而且你的数据库如果不是很新,则某些IP的查询结果会不正确。
(有需要的可以在此留言,大虾米可以提供一个能找到的最新的IP地址库)
2,采用WebService查询。
这里有一个最好的WebService
http://www.webxml.com.cn/zh_cn/web_services_item.aspx?id=56647553443555386D2F4D3D
缺点是:要编写一定的WebService查询代码。而且查询的结果是XML形式,需要进一步的解析。
3,调用某些查询网站的代码,如 http://www.ip.cn/
缺点是:它会返回相当多的无关代码,难以解析出你想要的东西。
4, 调用气动隔膜泵网站链接直接查询
比如
http://www.tianqizx.cn/ip.aspx?ip=202.105.19.49
网站会直接返回查询的结果,如 “ 广东省佛山市 三水区”
不会有任何的杂信息干扰
win32 API并没有提供直接得到CPU占用率的气动隔膜泵函数,但提供GetProcessTimes()函数可以得到进程占用的CPU时间,通过和实际时间的流逝相比,可以得到某进程占用CPU的比率好了,
下面就是完整的C++代码。
// 得到当前进程的CPU占用率
class GetCPUPercentage
{
private:
CRITICAL_SECTION cs; // 供多线程同步的临界区变量
HANDLE hd; // 空闲进程的句柄
DWORD t1; // 时间戳
int percent; // 最近一次计算的CPU占用率
__int64 oldp;
__int64 FileTimeToInt64(const FILETIME& time);
int GetTime(__int64& proc); // 得到进程占用的CPU时间
public:
GetCPUPercentage();
~GetCPUPercentage();
int Get(); // 得到CPU占用率
};
GetCPUPercentage::GetCPUPercentage()
{
InitializeCriticalSection(&cs); // 初始化线程临界区变量
percent = 0; // 初始的占用率
DWORD pid = GetCurrentProcessId(); // 得到当前进程id
hd = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid); // 通过id得到进程的句柄
if( hd==NULL ){
return;
}
// 得到初始时刻的值
GetTime(oldp);
t1 = GetTickCount();
}
GetCPUPercentage::~GetCPUPercentage()
{
if( hd!=NULL ){
CloseHandle(hd);
}
DeleteCriticalSection(&cs);
}
// 时间格式转换
__int64 GetCPUPercentage::FileTimeToInt64(const FILETIME& time)
{
ULARGE_INTEGER tt;
tt.LowPart = time.dwLowDateTime;
tt.HighPart = time.dwHighDateTime;
return(tt.QuadPart);
}
// 得到进程占用的CPU时间
int GetCPUPercentage::GetTime(__int64& proc)
{
FILETIME create;
FILETIME exit;
FILETIME ker; // 内核占用时间
FILETIME user; // 用户占用时间
FILETIME now;
if( !GetProcessTimes(hd, &create, &exit, &ker, &user) ){
return(-1);
}
proc = (FileTimeToInt64(ker) + FileTimeToInt64(user))/10000;
return(0);
}
// 进行换算
int GetCPUPercentage::Get()
{
if( hd==NULL )
return(0);
EnterCriticalSection(&cs);
DWORD t2 = GetTickCount();
DWORD dt = t2 - t1;
if( dt>139 ){ // 毫秒数。用一个比较少的时间片作为计算单位,这个值可修改
__int64 proc;
GetTime(proc);
percent = ((proc-oldp)*100)/dt;
t1 = t2;
oldp = proc;
}
LeaveCriticalSection(&cs);
return(percent);
}
// 定义一个全局变量
GetCPUPercentage _cpu;
// 下面是用C++Bulider写的测试例子:
// --------------------------
// 在用一个时钟不停地显示当前的CPU占用率
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{http://www.it168.com/
Label1->Caption = _cpu.Get();
}
//---------------------------------------------------------------------------
// 再弄个按钮
LRESULT WINAPI TestThread(LONG lParam)
{
int n = lParam;
for(int i=0 ;i<n; i++){
Form1->Label2->Caption = i;
Sleep(12);
}
return(0);
}
// 点击这个按钮会创建一些线程来把CPU整的繁忙些
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int n = atoi(Edit1->Text.c_str());
DWORD dwThreadid;
CreateThread(NULL
如何通过一个编程获得IP地址归属地的最简单办
1, 采用IP地址数据库。本地查询 这个办法的优点是:查询速度最快,不依赖于外部网站。缺点是:要编写一定的数据库查询代码,而且你的数据库如果不是很新,则某些IP的查询结果会不正确。(有需要的可以在此留言,大虾米可以提供一个能找到的最新的IP地址库)2,采用WebService查询。这里有一个最好的Web...
静态ip - StormProxies
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球200+的国家与地区,超7000万住宅IP。3、高可靠性,24小时稳定运行,平均99.99%的可用率;4、性价比更高,便宜好用,单个IP也能享受最优价格,没有额外费用;5、易于使用,支持HTTP/HTTPS/SOCKS5协议,提供多种API参数,网络集成更快捷;6、客服全天在线为您排忧解难,并可根据您的业务需求制定更合适的代理…StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球20...
js如何获取访客ip归属地+自动跳转页面
第一步:获取访客IP并判断归属地 为实现这一目标,我选择使用太平洋网络IP地址查询Web接口,该接口提供了较为稳定且准确的IP地址解析服务。通过调用该接口,可以获取访客的IP地址信息,进一步判断其归属地。在实现过程中,接口返回的数据格式需要进行解析。对于国外访客,返回信息中可能包含"err":"noprovince...
java 如何计算一个ip的归属地
import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;public class Test {public static void main(String[] args) throws Exception {//查询IP的接口http://api.k780.com:88/?app=ip.get&ip=123.115.132.140&appkey=10003&sign=...
全网显示 IP 归属地,这背后的技术你知道吗?
可以将其视为一个城镇的邮局,邮件从一个邮局传递至另一个,直至到达正确的城镇。AS控制一组特定的IP地址,就像城镇邮局负责内部地址传递一样。通常,AS由大型组织(如ISP、大型企业、大学或政府机构)运营。IP地址如何定位至大致地理位置?通过AS,我们可以找到一个大致的地理位置,如北京朝阳区、深圳南山...
IP归属地要怎么查的么
第三个是默认网关: (如:192.168.1.1)安装Win XP系统的用户都知道,用“ipconfig”命令可以查看本机IP地址,但是每次使用都要打开“命令提示符”窗口,感到非常的麻烦,有没有简单省事的办法呢?其实就在系统托盘处有一个双PC形状的“本地连接”图标,打开“本地连接”窗口,切换到“支持”选项...
IP 归属地查询 API 教你从0到1顺着网线找到键盘侠
具体接入示例第一步、注册并获取API密钥 登录供应商平台并注册获取 API 密钥。一般来说,我们注册后都将获得一个 API 密钥或令牌,这是用于获取 IP 归属地的凭据。以APISpace(http://apispace.com) 为例,首先我们点击【免费试用】后,完成登录注册 注册成功后,我们在页面导航菜单点击【我的API】...
如何编写C#代码《通过已知Ip查找原地址》??
//模式0x02,说明国家信息是一个偏移位置 country_Offset = GetOffset(); //先读取地区信息 area = ReadArea(); //读取国家信息 FileStrm.Seek(country_Offset, SeekOrigin.Begin); country = ReadString(); } else { //这种模式最简单了,直接读取国家和地区就OK了 FileStrm.Seek(-1, SeekOrigin.Current)...
如何查询ip地址及其归属地
1. 通过网上查询工具查找:打开任意浏览器,搜索“IP地址查询”或“IP归属地查询”,你会找到很多在线工具。输入你的IP地址或点击相关按钮,工具会返回你的IP地址及其大致的归属地信息。这是最快捷简便的方法。2. 使用命令行查询:对于熟悉计算机操作的用户,可以通过系统的命令行工具查询IP地址。在Windows...
如何用正则表达式匹配出如下代码中的IP地址跟IP地址归属地?_百度...
地址 (?<=您所在的地址是:\s*)(?[^<]*)(?=\s*)如果是用一个正则的话 (?n)(?<=您的IP是:\s*)(?<ip>([0-9]{1,3}\.){3}[0-9]{1,3})\s*您所在的地址是:\s*(?[^<]*)(?=\s*)提取出两个捕获体分别对应IP和地址 有问题的话楼主请追问 ...
如何查询ip地址及其归属地
要查询IP地址及其归属地,有几种简单的方法可供参考。首先,打开“开始”菜单,输入"CMD"启动命令提示符,键入"ipconfig /all"后回车,系统会显示详细信息,其中包括你的IP地址。在这个列表中,你可以找到物理地址,即MAC地址,以及部分IP地址信息。另一种方法是利用网络浏览器。连接网络后,右键点击网络...