java - 如何在请求 URL(Java 11)中添加参数?
问题描述
我是java的绝对初学者。尝试使用内置的 java httpclient 发送一些 http 请求。
如何以这种格式将请求参数添加到 URI 中:
parameter = hi
url = "https://www.url.com?parameter=hi"
使用我正在使用的代码,我只能设置标头,但不能设置请求参数
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder(URI.create(url))
.GET()
.build();
var reponse = client.send(request, HttpResponse.BodyHandlers.ofString());
return reponse.body();
非常感谢你!
解决方案
对于本机 Java 11,它必须像您一样完成。您需要在 url 参数中添加参数。或者您需要创建自己的构建器,允许您附加参数。
但是,如果您使用库,您请求的行为是可能的。一种方法是使用Apache URIBuilder
var client = HttpClient.newHttpClient();
URI uri = new URIBuilder(httpGet.getURI())
.addParameter("parameter", "hi")
.build();
var request = HttpRequest.newBuilder(uri)
.GET()
.build();
var reponse = client.send(request, HttpResponse.BodyHandlers.ofString());
return reponse.body();
推荐阅读
- css - 是否可以在复选框黑客中使用除 id 选择器以外的其他东西?
- vuejs2 - vue-router, webpack-dev-server 和 historyApiFallback, /foo 没问题但是 /foo/:bar 给出 404 (/foo/bundle.js)
- .net - 对托管在 IIS 上的 FileNet .Net 客户端的 Kerberos 支持
- android - 应用程序的名称是否受法律条款约束,还是仅使用公司名称?
- windows - 如何通过命令行从 Windows 8.1 任务栏中删除语言指示器?
- post - 使用 $_POST 从多个括号中获取值
- ruby-on-rails - Rails 在控制器中扩展模块
- javascript - 无法从 express js 使用 mongodb 登录
- javascript - 操作与表单提交之间的冲突
- c# - 带有 Microsoft OCR 的 Visual Studio