将str转换为int

时间:2016-09-28 12:56:15

标签: python

我的问题是类型'ip'是str,但我需要整数。

所以我做了转换int(ip)。然后我得到了错误

  

基数为10的int()的文字无效:

所以我做了一些研究,发现我必须把int int(float(ip))

现在我得到"无法将字符串转换为浮动"。

import socket
def retrieveBanner(ip, port):
    s = socket.socket()
    s.connect((int(float(ip)),port))
    banner = s.recv(1024).decode()
    print("Bitte geben Sie eine IP und ein Port ein")

ip = input("IP? ")
port = input("Port? ")
retrieveBanner(ip, port)
if ("NASFTPD" in banner):
    print("Vulnerable")

2 个答案:

答案 0 :(得分:0)

根据documentationconnect期望一个元组(string, int),其中字符串是ip地址,int是端口。您可以通过这种方式修改代码来修复它:

s.connect((ip, int(port)))

希望它会有所帮助。

答案 1 :(得分:0)

要将字符串中的虚线表示法IP地址转换为您需要的整数:

i_ip = socket.inet_aton(ip)

"航标"是" ASCII到数字"的缩写。这适用于IPv4地址。