我正在尝试使用构建器类在Java中构建一个http POST,并且无法弄清楚如何将servlet与主机名结合起来。试图找到一些这方面的例子,但不能。
private static String HOSTNAME = "servlet.nuancemobility.net";
private static String SERVLET = "/NMDPAsrCmdServlet/dictation";
我正在使用的构建器类:
URIBuilder builder = new URIBuilder();
builder.setScheme("https");
builder.setHost(HOSTNAME);
builder.addParameter(SERVLET, SERVLET);
builder.setPort(443);
builder.build();
return builder;
URl应如下所示:https://servlet.nuancemobility.net:443/NMDPAsrCmdServlet/dictation
但是
builder.addParameter(SERVLET, SERVLET);
它看起来像这样:
https://servlet.nuancemobility.net:443?%2FNMDPAsrCmdServlet%2Fdictation=%2FNMDPAsrCmdServlet%2Fdictation
答案 0 :(得分:0)
URL的/ NMDPAsrCmdServlet / dictation部分是servlet资源的路径,而不是参数。尝试使用:
URIBuilder builder = new URIBuilder();
builder.setScheme("https");
builder.setHost(HOSTNAME);
builder.setPath(SERVLET);
builder.setPort(443);
builder.build();
return builder;
参数列表用于添加到查询字符串的参数(名称/值对)。