У меня есть небольшая клиентская программа Android-Java, которая отправляет основную информацию на сервер bottle-python методом POST.В первой версии кода сервер ничего не показывает.Тем не менее, во второй версии это работает, но я не могу понять, что делает эта дополнительная строка, потому что она имеет какое-либо отношение к публикации контента.Я очень признателен, если кто-нибудь поможет мне разобраться с этим (в коде сервера нет ничего плохого, поскольку я могу правильно отправлять запросы с запросами Python и моими браузерами).
Это первая версия кода клиента:
String url = "http://192.168.1.23:8080/";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
PrintStream myPusher = new PrintStream(os );
myPusher.print("param1=hey");
Вторая версия:
String url = "http://192.168.1.23:8080/";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
PrintStream myPusher = new PrintStream(os );
myPusher.print("param1=hey");
InputStream in= con.getInputStream(); //Nothing changed but only this additional line
Сервер Bottle (python):
@app.route('/', method="POST")
def hello():
print("it works")
name = request.forms.get("param1")
print(name)
return name
@app.route('/')
def hello():
i=0
print("it works")
run(app, host="192.168.1.23", port=8080)
С первым клиентским кодом сервер ничего не показывает.
Свторой сервер кодов показывает:
it works
hey
192.168.1.24 - - [31/Dec/2018 17:10:28] "POST / HTTP/1.1" 200 3
Что, как я и ожидал.