2015-04-05 3 views
1

Я пытаюсь сделать доказательство концепции tcp-сервера и клиента с Python 3.4. Все с сетевой частью работает хорошо. Я попытался сделать его интерактивным и получить пользовательский ввод от клиента и отправить его на сервер. Но когда я пытаюсь использовать его в качестве HTTP-клиента (написать пользовательский запрос в консоли и отправить его на сервер), он не смог получить ответ. Проблема в том, что функция input() интерпретирует \ r \ n \ как строку. Как я могу сказать python интерпретировать их как a.Вход Python 3.4?

Пример:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
sock.connect(("www.google.com", 80)) 

user_input = input("Inser message: ") # GET/HTTP/1.1\r\n\r\n 
sock.sendall(user_input.encode("utf-8")) 

message = sock.recv(4096) 

Заранее спасибо за любые предложения.

ответ

2

Вы можете использовать замену:

user_input = user_input.replace('\\r', '\r').replace('\\n', '\n')