Python 2.7.11套接字库缺少对象?

时间:2016-05-20 21:31:15

标签: python python-2.7 sockets pycharm

您好我试图从套接字库调用特定对象,更具体地说是socket.send和socket.recv。我使用的IDE是pycharm,它告诉我它无法在套接字库中找到引用。以下是我的代码片段:

def http(ip,port): 
    try:
        socket.setdefaulttimeout(2)
        a = socket.socket()
        a.connect((ip,port))
        socket.send("GET HTTP/1.1 \r\n")
        giveMeUrInfoz = socket.recv(1024)
        print "[+]" + "Huzzah! " + str(giveMeUrInfoz)
        print "**********************************************************"
        return giveMeUrInfoz
    except Exception, e:
        print "[-] Unable to grab info" + str(e)
        print "**********************************************************"
        return str(e)

pycharm IDE告诉我它无法识别send和recv对象。我知道socket.send和socket.recv是套接字库中有效对象的一部分,每个链接都是python docs:https://docs.python.org/2/library/socket.html

我的问题是,为什么这不起作用?我还应该在我的脚本中提到这个功能的目的是通过get请求获取Web服务器横幅信息。我将端口80传递给函数以及有效的IP地址。

1 个答案:

答案 0 :(得分:1)

您需要使用socket.send("GET HTTP/1.1 \r\n")socket.recv(1024)命令来实例化Socket Object,而不是sendrecv

因此,在您的情况下,它将是a.send("GET HTTP/1.1 \r\n")a.recv(1024)