我正在用Python编写代码,我正在寻找一种使用套接字连接到网站端口的方法,这样我就可以向服务器发送命令。
import socket HOST = 'www.google.com' PORT = 80 server=socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind((HOST, PORT)) server.listen(5)
这段代码给了我一个错误“请求的地址在它的上下文中无效”。我该怎么做?
whlutmcx1#
您尝试在Google的IP上执行bind,这是没有意义的,因为没有网络适配器连接到具有该IP的计算机(因此出现错误)。您混淆了创建服务器和作为连接到远程服务器的客户端。您希望connect到Google服务器:
bind
connect
import socket HOST = 'www.google.com' PORT = 80 socket = socket.socket() socket.connect((HOST, PORT)) # Send an HTTP GET request to request the page socket.send(b""" GET / HTTP/1.1 Host: www.google.com """) msg = socket.recv(8192) print(msg)
1条答案
按热度按时间whlutmcx1#
您尝试在Google的IP上执行
bind
,这是没有意义的,因为没有网络适配器连接到具有该IP的计算机(因此出现错误)。您混淆了创建服务器和作为连接到远程服务器的客户端。您希望connect
到Google服务器: