gpt4 book ai didi

java - 从 java 访问 Pushbots REST Api

转载 作者:行者123 更新时间:2023-12-01 10:37:43 24 4
gpt4 key购买 nike

我正在尝试使用推送机器人发送推送通知。当我使用 cURL 时它可以工作,但我如何从我的 java 服务器实现这一点?我想发送的curl脚本是这样的:

curl -X POST \
-H "x-pushbots-appid: 54cc0a511d0ab13c0528b459d" \
-H "x-pushbots-secret: 1444fe8be3324ff7128f25aa18cdee12" \
-H "Content-Type: application/json" \
-d '{"platform" : 1 , "msg" : "hi from Api" , "payload" : {"largeIcon":"https://lh3.googleusercontent.com/-2bMJQbKLNRQ/AAAAAAAAAAI/AAAAAAAA_nc/SYnugOyXboE/s120-c/photo.jpga" }}' \
https://api.pushbots.com/push/all

使用 Runtime.getRuntime().exec(""); 不是一个选项,因为我必须响应式执行,这意味着我希望能够更改 msg json值。我怎样才能实现这一目标?

感谢您的宝贵时间,芬奇

最佳答案

看起来您所要做的只是 HTTP 请求。当然,您可以使用 Java 实现此目的,但从 Java 调用 curl 并不是实现此目的的好方法。最好的方法是使用一些库来处理 HTTP。例如,您可以使用 Apache HttpClient这非常好。您可以学习如何使用这个库here (不要害怕文档的大小,您只需要基本功能)。

附注如果我正确理解问题,Android 标签在这里不合适。

UPD这是适合您的情况的一些代码(我没有测试它,但希望它会对您有所帮助):

HttpClient client = HttpClients.createDefault();
HttpPost request = new HttpPost("https://api.pushbots.com/push/all");
request.addHeader("x-pushbots-appid", "54cc...");
request.addHeader("x-pushbots-secret", "1444...");
request.addHeader("Content-Type", "application/json");
request.setEntity(new StringEntity("{your request body here}"));
HttpResponse response = client.execute(request);
int statusCode = response.getStatusLine().getStatusCode();
String responseBody = EntityUtils.toString(response.getEntity());

您还需要捕获一些异常(此代码中没有) - IOExceptionUnsupportedEncodingException

关于java - 从 java 访问 Pushbots REST Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34575890/

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