您好我试图从套接字库调用特定对象,更具体地说是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地址。
答案 0 :(得分:1)
您需要使用socket.send("GET HTTP/1.1 \r\n")
和socket.recv(1024)
命令来实例化Socket Object,而不是send
和recv
。
因此,在您的情况下,它将是a.send("GET HTTP/1.1 \r\n")
或a.recv(1024)
。