2017-09-21 6 views
0

ビルドクラスでJavaでhttp POSTを作成しようとしていますが、サーブレットとホスト名を組み合わせる方法がわかりません。これについていくつかの例を見つけようとしましたが、できませんでした。ビルダークラスを使用した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

URLの/ NMDPAsrCmdServlet /ディクテーション部分は、サーブレットリソースへのパスであり、パラメータではありません。次を使用してください:

URIBuilder builder = new URIBuilder(); 
    builder.setScheme("https"); 
    builder.setHost(HOSTNAME); 
    builder.setPath(SERVLET); 
    builder.setPort(443); 
    builder.build(); 
    return builder; 

パラメータリストは、クエリ文字列に追加されるパラメータ(名前と値のペア)です。

関連する問題