没有浏览器的 Http POST/GET?

Http POST/GET without a browser?

我在我们的服务器上设置了一些东西,这样每当您访问该页面时,如果您的 GET 请求设置正确,它就会向数据库添加一个条目,标记谁和什么时候。我正在设计一个系统来显示我们的设备是否正在通信,我想将其设置为每小时自动执行一次。

所以,如果我在我的网络浏览器中输入类似“http://example.com/stamptime/default.aspx?playerId=3191121”的内容,它会在数据库中添加一个条目。

我一直在寻找一种无需浏览器即可完成此操作的方法。如果我将它作为网页打开,它会完美运行。如果我试试这个:

URL url = new URL("http://example.com/StampTime/Default.aspx?playerId=3191121");
    HttpURLConnection con = (HttpURLConnection) url.openConnection();
    con.setRequestMethod("GET");
    con.connect();

数据库没有添加任何东西。

我在这里遗漏了什么吗?

虽然您肯定可以使用原版 Java API 做到这一点,但实际上没有必要重新发明轮子。相反,请改用久经考验的 Apache HTTP Client. It will manage the connection pooling, timeout settings and other nitty-gritty stuff for you. The sample code is available directly at the link provided, so no point in copying it here. If you're using Spring, you should consider using Spring's REST client

无论如何,您似乎是在 GET 请求上插入内容,这是一个糟糕的主意。 GET 旨在获取内容,而不是创建或更新。所有客户端,包括浏览器,都期望 GET 是幂等的。此外,您似乎没有任何安全保障,任何人都可以将内容插入您的数据库。这两个主题都超出了此处的范围,但请注意。