【发布时间】:2016-05-20 21:31:14
【问题描述】:
您好,我正在尝试从套接字库调用特定对象,更具体地说是 socket.send 和 socket.recv。我正在使用的 IDE 是 pycharm,它告诉我它在套接字库中找不到引用。这是我的代码的 sn-p:
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 文档的链接:https://docs.python.org/2/library/socket.html。
我的问题是,为什么这不起作用?我还应该在我的脚本中提到此函数的目的是通过 get 请求获取 Web 服务器横幅信息。我将端口 80 以及有效的 IP 地址传递给函数。
【问题讨论】:
-
您是否将您的模块命名为
socket.py? -
可能想看看this question
-
你需要提供traceback!
-
我相信你想要
socket.send而不是a.send。 -
@CoryShay 作为答案发布,
send和recv是套接字对象上的方法,而不是模块中的函数,它们都在文档中的 "Socket Objects" 部分下。跨度>
标签: python python-2.7 sockets pycharm