gpt4 book ai didi

java - 未发送 POST 请求

转载 作者:行者123 更新时间:2023-11-29 23:22:38 31 4
gpt4 key购买 nike

我有一个简短的 Android-Java 客户端程序,它使用 POST 方法将基本信息发送到 bottle-python 服务器。在第一个版本的代码中,服务器不显示任何内容。但是,在第二个版本中它可以工作,但我无法理解这一行的作用,因为它与发布内容有任何关系。如果有人帮我解决这个问题,我真的很感激。(服务器代码没有任何问题,因为我可以使用 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

这是我所期望的。

最佳答案

对于您的第一个代码 fragment ,输出流仍然是打开的。所以服务器不知道它是否得到了完整的请求。可能只是关闭流也会起作用。

但是,我至少会调用 getResponseCode 来查看请求的结果。

关于java - 未发送 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53988481/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com