我无法通过套接字从服务器获得响应 python
I can't get a response from the server via socket python
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as socket_server:
socket_server.connect(("77.222.42.207", 1337))
socket_server.send("get_flag".encode())
server_unswer = (socket_server.recv(1024)).decode()
print(server_unswer)
while (messsage := input("Я: ")) != "exit":
socket_server.send(messsage.encode())
messsage = socket_server.recv(1024)
messsage = messsage.decode()
print(messsage)
我正在尝试向服务器发送一个字符串,但我无法发送数据并得到响应,请问有什么问题吗?
当我通过 netcat 连接到服务器时,一切正常。
您的 code.Just 看起来没有问题,如下所示创建一个简单的服务器并连接您的客户端套接字程序。
import socket
server = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM,
proto=socket.IPPROTO_TCP, fileno=None)
server.bind(('IP address', port))
server.listen(10)
client, _ = server.accept()
# Instead of a infinite while loop a for loop in given with a count of 10
for i in range(10):
data = client.recv(65535).decode()
print(data)
client.send(data.encode())
server.close()
显然你必须更新 socket_server.connect(("77.222.42.207", 1337))
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as socket_server:
socket_server.connect(("77.222.42.207", 1337))
server_unswer = (socket_server.recv(1024)).decode()
print(server_unswer)
socket_server.send("get_flag\n".encode())
server_unswer = (socket_server.recv(1024)).decode()
print(server_unswer)
终于能够得到服务器的响应了,是因为NetCat在发文的时候自动加了\n,服务器上的命令是可以的,但是我发文的时候没有加这个字符
我不得不弄清楚如何使用 Wireshark 来弄清楚)
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as socket_server:
socket_server.connect(("77.222.42.207", 1337))
socket_server.send("get_flag".encode())
server_unswer = (socket_server.recv(1024)).decode()
print(server_unswer)
while (messsage := input("Я: ")) != "exit":
socket_server.send(messsage.encode())
messsage = socket_server.recv(1024)
messsage = messsage.decode()
print(messsage)
我正在尝试向服务器发送一个字符串,但我无法发送数据并得到响应,请问有什么问题吗?
当我通过 netcat 连接到服务器时,一切正常。
您的 code.Just 看起来没有问题,如下所示创建一个简单的服务器并连接您的客户端套接字程序。
import socket
server = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM,
proto=socket.IPPROTO_TCP, fileno=None)
server.bind(('IP address', port))
server.listen(10)
client, _ = server.accept()
# Instead of a infinite while loop a for loop in given with a count of 10
for i in range(10):
data = client.recv(65535).decode()
print(data)
client.send(data.encode())
server.close()
显然你必须更新 socket_server.connect(("77.222.42.207", 1337))
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as socket_server:
socket_server.connect(("77.222.42.207", 1337))
server_unswer = (socket_server.recv(1024)).decode()
print(server_unswer)
socket_server.send("get_flag\n".encode())
server_unswer = (socket_server.recv(1024)).decode()
print(server_unswer)
终于能够得到服务器的响应了,是因为NetCat在发文的时候自动加了\n,服务器上的命令是可以的,但是我发文的时候没有加这个字符
我不得不弄清楚如何使用 Wireshark 来弄清楚)