明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2046|回复: 10

[提问] LISP怎么获取IP地址

[复制链接]
发表于 2022-7-6 18:29:29 | 显示全部楼层 |阅读模式
5明经币
LISP获取IP地址吗,网域的,或者有更牛逼的麻烦指导一下

最佳答案

查看完整内容

如果是局域网,可以这样 这样可以获得电脑上所有网卡(包括虚拟的)的局域网IP。
发表于 2022-7-6 18:29:30 | 显示全部楼层
如果是局域网,可以这样
  1. (defun c:GetIP (/ SWbemLocator Service IPSet lst IP Address)
  2.   (setq SWbemLocator (vlax-create-object "WbemScripting.SWbemLocator"))   
  3.   (setq Service (vlax-invoke SWbemLocator 'ConnectServer))
  4.   (setq IPSet (vlax-invoke Service 'InstancesOf "Win32_NetworkAdapterConfiguration"))
  5.   (setq lst nil)
  6.   (vlax-for IP IPSet
  7.     (if (setq Address (vlax-get IP 'IPAddress ))
  8.       (setq lst (cons Address lst))
  9.     )
  10.   )
  11.   (vlax-release-object IPSet)
  12.   (vlax-release-object Service)
  13.   (vlax-release-object SWbemLocator)
  14.   
  15.   (reverse lst)
  16. )


这样可以获得电脑上所有网卡(包括虚拟的)的局域网IP。
回复

使用道具 举报

发表于 2022-7-6 19:07:12 | 显示全部楼层
找到一个,没试过,你试试
(vl-load-com)
(defun LXY-IP (/ aspip xml)
        (setq xml (vlax-create-object "Microsoft.XMLHTTP"))
  (vlax-invoke xml 'open "get" "http://www.3322.org/dyndns/getip" 0)
  (vlax-invoke xml 'setrequestheader "If-Modified-Since" 0)
        (vlax-invoke xml 'send)
  (setq aspip (vlax-get xml "responseText"))
(princ aspip)
(princ)
)

评分

参与人数 1明经币 +1 收起 理由
xsso + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2022-7-6 20:27:19 | 显示全部楼层
baitang36 发表于 2022-7-6 19:07
找到一个,没试过,你试试
(vl-load-com)
(defun LXY-IP (/ aspip xml)

可以。

简单测试了一下
回复

使用道具 举报

 楼主| 发表于 2022-7-7 09:41:16 | 显示全部楼层
baitang36 发表于 2022-7-6 19:07
找到一个,没试过,你试试
(vl-load-com)
(defun LXY-IP (/ aspip xml)

666,应该是获得了外网IP,能获得局域IP吗
回复

使用道具 举报

发表于 2022-7-7 09:45:49 | 显示全部楼层
这都是接口调用,并不是 lst 本身功能
回复

使用道具 举报

发表于 2022-7-8 12:30:51 | 显示全部楼层
(command "Shell" "cmd.exe /K IPconfig/all")
回复

使用道具 举报

 楼主| 发表于 2022-7-8 18:11:07 | 显示全部楼层
自贡黄明儒 发表于 2022-7-8 12:30
(command "Shell" "cmd.exe /K IPconfig/all")

666,可惜只有高版本可以执行这个,不过不知怎么将数据读回来
回复

使用道具 举报

发表于 2022-7-9 07:29:38 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2022-7-9 08:16 编辑
xsso 发表于 2022-7-8 18:11
666,可惜只有高版本可以执行这个,不过不知怎么将数据读回来

win7 08
(command "Shell" "cmd.exe /K IPconfig/all > D:\\ip.txt")
(startapp "cmd.exe /K IPconfig/all > D:\\ip.txt")

ipconfig /all:显示本机TCP/IP配置的详细信息;

ipconfig /release DHCP客户端手工释放IP地址;

ipconfig /renew DHCP客户端手工向服务器刷新请求;

ipconfig /flushdns:清除本地DNS缓存内容;

ipconfig /displaydns:显示本地DNS内容;

ipconfig /registerdns DNS客户端手工向服务器进行注册;

ipconfig /showclassid:显示网络适配器的DHCP类别信息;

ipconfig /setclassid:设置网络适配器的DHCP类别。

ipconfig /renew "Local Area Connection":更新"本地连接"适配器的由 DHCP 分配 IP 地址的配置

ipconfig /showclassid Local*:显示名称以 Local 开头的所有适配器的 DHCP 类别 ID

ipconfig /setclassid "Local Area Connection" TEST:将"本地连接"适配器的 DHCP 类别 ID 设置为 TEST



highflybird大师getip返回 ((IPv4 地址   本地链接 IPv6 地址)),但用dos可以返回丰富内容


评分

参与人数 1明经币 +1 收起 理由
xsso + 1 从长远来看黄总的答案更多元化

查看全部评分

回复

使用道具 举报

发表于 2022-7-11 18:15:55 来自手机 | 显示全部楼层
还有这样玩的,牛逼
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 16:53 , Processed in 0.162588 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表