Я сделал приведенный ниже код с небольшой помощью из некоторого онлайн-учебника, если вы введете размер ответа, а также правильный хост и порт, все работает нормально. Но, если вы пропустите шаг, это даст вам ошибку. Я хочу дать пользовательское сообщение, чтобы пользователь знал, что он сделал не так. Я посмотрел, как использовать «попробовать» и «кроме», но мой вопрос заключается в том, использовать ли я это из всего, что в моем коде? Это кажется немного повторяющимся.
import socket
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-s", "--size", help = "How many bytes you will recive from the HTTP Response")
parser.add_argument("-p", "--port", help = "The port to which you want to recive a response from")
parser.add_argument("-t", "--host", help = "The host to which you want to recive a response from")
args = parser.parse_args()
size = int(args.size)
port = int(args.port)
host = str(args.host)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
message = ("i")
s.send(message.encode("utf-8"))
data = s.recv(size)
print(data)