pyhon-----获取ip的两种方法

方法一:

通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下:

import socket

# 获取本机计算机名称
hostname = socket.gethostname()
# 获取本机ip
ip = socket.gethostbyname(hostname)
print(ip)

亲测:如果使用手机时,地址为127.0.0.1,如果使用电脑(windows)无线连接时,地址为外网地址。

方法二: 
在windows和Linux系统下均可正确获取IP地址,示例代码如下:

import socket

def get_host_ip():
    """
    查询本机ip地址
    :return: ip
    """
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect((‘8.8.8.8‘, 80))
        ip = s.getsockname()[0]
    finally:
        s.close()

    return ip

if __name__ == ‘__main__‘:
    print(get_host_ip())

亲测:无论手机还是电脑(windows)无线连接时,地址为设定地址(或自动获取的地址)。

原博客地址:https://blog.csdn.net/u013314786/article/details/78962103

原文地址:https://www.cnblogs.com/xiaodai0/p/9457082.html

时间: 2024-10-11 02:43:38

pyhon-----获取ip的两种方法的相关文章

suse下设置IP的两种方法

/Files/yzhxhwt/DB_51aspx.rar 第一种SUSE Linux IP设置方法ifconfig eth0 192.168.1.22 netmask 255.255.255.0 uproute add default gw 192.168.1.2 释义:#IP配置,包括子网掩码,看情况修改eth0和192.168.1.22 #网关修改 ,看情况修改192.168.1.2 第二种SUSE Linux IP设置方法 在suse操作系统中每个网卡都有一个配置文件,在/etc/sysc

ASP.NET获取IP的6种方法(转载于LanceZhang's Tech Blog)

服务端: 1 //方法一 2 HttpContext.Current.Request.UserHostAddress; 3 4 //方法二 5 HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; 6 7 //方法三 8 string strHostName = System.Net.Dns.GetHostName(); 9 string clientIPAddress = System.Net.Dns.GetHostA

ASP.NET获取IP的6种方法

服务端: //方法一 HttpContext.Current.Request.UserHostAddress; //方法二 HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; //方法三 string strHostName = System.Net.Dns.GetHostName(); string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostNa

Android从Camera中获取图片的两种方法

方法一: 此方法会由Camera直接产生照片回传给应用程序,但是返回的是压缩图片,显示不清晰 /**   启动Camera */ private void intentCamera(){     try {          Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);          startActivityForResult(cameraIntent, 0);      } catch (Activi

给网卡绑定多个ip的两种方法

1,通过ifconfig命令 绑定: ifconfig eth0:1 172.31.21.224   broadcast 172.31.31.255  netmask 255.255.240.0 查看: ifconfig 解绑: ifconfig eth0:1 del  172.31.21.224 2,ip命令 绑定: ip addr add 172.31.21.224/20 dev eth0 查看: ip addr 解绑: ip addr delete 172.31.21.224/20 dev

获取对象属性两种方法的差别

1.中括号法可以用变量作为属性名,而点方法不可以; var obj = {};obj.name = '张三';var myName = 'name';console.log(obj.myName);//undefined,访问不到对应的属性console.log(obj[myName]);//张三 2.中括号法可以用数字作为属性名,而点语法不可以; 3.中括号法可以使用js的关键字和保留字作为属性名,而点语法不可以(尽量避免在变量或者属性中使用关键字或保留字); 原文地址:https://www

获取网页URL地址及参数等的两种方法(js和C#)

转:获取网页URL地址及参数等的两种方法(js和C#) 一 js 先看一个示例 用javascript获取url网址信息 <script type="text/javascript"> document.write("location.host="+location.host+"<br>"); document.write("location.hostname="+location.hostname+&

js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>

QT中获取选中的radioButton的两种方法(动态取得控件的objectName之后,对名字进行比较)

QT中获取选中的radioButton的两种方法 QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->BG->checkedButton()); 2 QString name = pbtn->objectName(); 3 if(!QString::compare(name, "rad