• 5634阅读
  • 6回复

[提问]qt获取路由器wan口吗 [复制链接]

上一主题 下一主题
离线liandong
 

只看楼主 倒序阅读 楼主  发表于: 2014-07-06
qt能编个代码能获取路由器的wan口地址吗,不通过第三方的东西。
离线ashe0817

只看该作者 1楼 发表于: 2014-07-07
可以啊。
离线liandong

只看该作者 2楼 发表于: 2014-07-07
能写个具体的代码吗,初学者,多见谅。。。。。。。。。。
离线bingyifeng

只看该作者 3楼 发表于: 2014-07-08
Qt 有个 Net库,可以直接取到 host信息的(其中有local ip)。
但是要取到路由器的WAN口 IP 还不知道如何操作
坐等1楼回答
<span style="color:blue ">淘宝,绿石斋</span> <a href="http://shop33295817.taobao.com“> <span style="color:blue ">各种水晶饰品,手链,项链 </span></a>
离线bingyifeng

只看该作者 4楼 发表于: 2014-07-08
回 ashe0817 的帖子
ashe0817:可以啊。 (2014-07-07 10:29) 

是通过代码 登录路由器 web页面
然后再访问 有wan 信息的页面 自己抓取么?
<span style="color:blue ">淘宝,绿石斋</span> <a href="http://shop33295817.taobao.com“> <span style="color:blue ">各种水晶饰品,手链,项链 </span></a>
离线ashe0817

只看该作者 5楼 发表于: 2014-07-08
1.访问类似ip138这样的网页,这样得到的IP地址才是真实的地址,路由器上的wan口地址不一定是你在internet上的地址。

2.非要获取wan口地址的话,可以通过http方式访问路由器状态页面,用正则提取wan口地址就行了。不过这个前提是你有路由器登陆账号和密码,而且每个型号的路由器页面地址、数据都不同,不具备通用性。
离线begboy

只看该作者 6楼 发表于: 2014-07-08
liandong你好!
如你所讲的“获取路由器的wan口地址” 是指获取外网IP地址的话,
提提我个人的看法,

1、在UNIX/LINUX下,请使用SHELL脚本。
调用CURL加重定向文件方式:
curl ifconfig.me >  curl_IP.201407081030
如生成XML格式:
curl ifconfig.me/all.xml >  curl_XML.201407081030
再通过grep/sed等对生成文件进行分析获得。

2、通过内核路由表进行分析,
请使用系统调用ioctl(),调取内核路由表进行C语言编程。

第1种我们试过,第2种我们没试过。
从我们看来,涉及底层的东西,大部分编码跟QT已经没多大关系。
祝好运。
begboy


快速回复
限100 字节
 
上一个 下一个