HttpURLConnectionを使用してhttp urlでXMLを送信しようとしています。HttpURLConnectionを使用したHTTP経由のXML - エラー401の取得
以下は、サービスをテストするために使用しているテストcurlコマンドです。
curl -H "Content-Type: text/xml" -H "User-Agent: some/7.88/1" -X POST --Basic -u "username:password" -d '< ?xml packet ... >' http://ip:port/some/url
それが正常に動作しているが、私は次のJavaコードでこれを送信しようとすると:
Javaコード:
URL url = new URL("http://ip:port/some/url");
String requestXMLPacket = "<?xml packet ... >";
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type","text/xml");
conn.setRequestProperty("User-Agent", "some/7.88/1");
conn.setRequestProperty("basic -u", "username:password");
conn.setDoOutput(true);
conn.setInstanceFollowRedirects(false);
conn.setUseCaches(false);
conn.setDoInput(true);
私はエラーを取得する:
java.io.IOException: Server returned HTTP response code: 401 for URL: http://ip:port/some/url
つまり、正しい承認を送信していないということです。
私がここで間違っていることを教えてもらえますか?
ありがとうございました。 –
Java 7用: ** org.apache.tomcat.util.codec.binary.Base64.encodeBase64String ** –