java - 使用 Apache Http 客户端进行 POST 请求

标签 java json gson translators

我正在尝试使用 Gson 开发一个 Java 应用程序,以使用外部 api 来获得简单的文本翻译。下面是代码和输出。我已在 HTTP post URL 中的 API key 指定位置使用了我的 API key 你能帮我让这个工作吗? 非常感谢。

//代码

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("URL");

StringEntity input = new StringEntity(json);
input.setContentType("application/json");
post.setEntity(input);
HttpResponse response = client.execute(post);
System.out.println(response.getStatusLine());  

//输出

HTTP/1.1 415 Unsupported Media Type

最佳答案

如您所见,您收到了来自服务器的 404 Not Found 响应。通常这意味着您向错误的 URL 发送了请求。

您应该使用 https 版本的请求,如 documentation 所示。 因此,正确的 URL 如下所示:https://translate.yandex.net/api/v1.5/tr.json/translate?lang=en-ru&key=API-KEY

编辑

关于第二个问题,请尝试为您的帖子添加标题。

post.addHeader("Content-Type", "application/json");

编辑2

我查看了文档,他们在请求中不使用正文。只需将文本添加到 URL,如下所示:

https://translate.yandex.net/api/v1.5/tr.json/translate?text=live&lang=en-ru&key=API-KEY`

不要忘记删除设置实体,我的意思是删除 post.setEntity(input) 和相关内容。

关于java - 使用 Apache Http 客户端进行 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50888045/

相关文章:

java - Camel 路线执行中的继续行为

json - 1 个接口(interface),2 个包,相同的结构变量名称但不同的 json 命名约定

Jquery Ajax 自动完成

java - 在java中将嵌套Json文件转换为CSV

java - 预期 BEGIN_ARRAY 但在第 1 行第 1 列路径 $ GSON 处为 STRING

java - 如何在 mockmvc 中将模拟对象作为 JSON 发送

java - 从 IType 实例化对象

java - 如何转换键盘事件

java - 如何覆盖 Log4J 行号

c# - 两种类型的变量