相关疑难解决方法(0)

如何在Python中验证IP地址?

验证用户输入的IP有效的最佳方法是什么?它以字符串形式出现.

python validation networking ip-address

151
推荐指数
9
解决办法
21万
查看次数

通过API获取我的公共IP

是否有来自某个大公司的公共API来从程序中获取我的公共IP?

我发现http://ip-address.domaintools.com/myip.xml,这正是我想要的,但不幸的是它阻止了Python urllib以及许多其他的http库,除非你欺骗用户代理(任何做这件事的东西都不能称为API).

问题是我需要这些数据用于一些潜在的开源库,所以我们必须遵守规则.我也知道我可以做类似的事情print $_SERVER[REMOTE_ADDR],但我不想使用我的库为所有人提供流量服务.

那么,是否有类似上面的URL,但真正的API,允许机器人?

api ip

74
推荐指数
3
解决办法
5万
查看次数

使用Python获取计算机的外部IP地址

寻找一种更好的方法来获取机器当前的外部IP#...下面工作,但宁愿不依赖外部网站来收集信息......我只能使用与Mac OS捆绑在一起的标准Python 2.5.1库X 10.5.x

import os
import urllib2

def check_in():

    fqn = os.uname()[1]
    ext_ip = urllib2.urlopen('http://whatismyip.org').read()
    print ("Asset: %s " % fqn, "Checking in from IP#: %s " % ext_ip)
Run Code Online (Sandbox Code Playgroud)

python standard-library

58
推荐指数
13
解决办法
8万
查看次数

获取我的IP地址

我在小型网络上有一台电脑,所以我的IP是192.168.2.100.

我想要获得真正的IP.我下载了no-ip客户端,但这对于这么简单的事情来说似乎很麻烦.

我创建了这个php脚本,它获得了http://www.ip-adress.com/ page并检索了它给我的ip.

有更简单的方法吗?使用C,WSH或其他东西.或者,如果有一个更简单的PHP方式请告诉我.

当我拿到ip时,我会将它上传到我的ftp网站,以便我可以看到ip从工作中.

php c networking wsh ip-address

8
推荐指数
2
解决办法
6118
查看次数

在python中找到我的IP地址

可能重复:
使用Python的stdlib查找本地IP地址

我怎样才能得到我的IP地址?

socket.gethostbyname( socket.gethostname() )  
Run Code Online (Sandbox Code Playgroud)

这是返回127.0.1.1,但我怎样才能获得真正的IP?

python ip networking

5
推荐指数
0
解决办法
1803
查看次数

如何在C中获取我的非环回网络IP地址?

对于两台主机之间的通信,我需要将主机的IP地址发送到另一个站点.问题是,如果我请求我的IP地址,可能是我恢复了我的本地环回IP地址(127.xxx),而不是网络(以太网)IP地址.

我使用以下代码:

char myhostname[32];


gethostname(myhostname, 32);
hp = gethostbyname(myhostname);
unsigned my_ip = *(unsigned*)(hp->h_addr);

if( (my_ip % 256) == 127) {
  /* Wrong IP adress as it's 127.x.x.x */
  printf("Error, local IP address!");
  return;
}
Run Code Online (Sandbox Code Playgroud)

解决它的唯一方法是确保/ etc/hosts中的主机名在真实网络地址后面,而不是本地环回(例如Ubuntu的默认值).

有没有办法解决这个问题而不依赖于/ etc/hosts的内容?

编辑:我改变了上面的代码,所以它使用getaddrinfo,但我仍然得到回送设备的号码(127.0,0,1)而不是真正的IP地址:

struct addrinfo hint = {0};
struct addrinfo *aip = NULL;
unsigned ip = 0;
struct sockaddr_in *sinp = NULL;

hint.ai_family = AF_INET; /* IPv4 */
hint.ai_socktype = SOCK_STREAM;

if(getaddrinfo(hostname, NULL, &hint, &aip) != 0) {
    return 0;
}
sinp = …
Run Code Online (Sandbox Code Playgroud)

c networking network-programming communication

3
推荐指数
1
解决办法
1万
查看次数