我无法通过套接字从服务器获得响应 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 来弄清楚)