![](/img/trans.png)
[英]trying to Map my Json String data to an object. I'm using Gson to parse the data. Data get parsed but when i give Space in Value it gives me Exception
[英]when i'm trying to pass basic authentication then my code give me illegal argument exception
我有以下代码
String userName = "xyz.com";
String password = "xyz.com";
URL url = new URL("http://....")
URLConnection urlConnection = url.openConnection();
String userpass = userName + ":" + password;
String basicAuth = "Basic "
+ new String(new Base64().encode(userpass.getBytes()));
System.out.println("basic auth-->" + basicAuth);
urlConnection.setRequestProperty("Authorization: ", basicAuth);
InputStream inputStream = urlConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(inputStream);
int numCharsRead;
char[] charArray = new char[1024];
StringBuffer sb = new StringBuffer();
while ((numCharsRead = isr.read(charArray)) > 0) {
sb.append(charArray, 0, numCharsRead);
}
String result = sb.toString();
System.out.println("*** BEGIN ***");
System.out.println(result);
System.out.println("*** END ***");
例外是
basic auth-->Basic flkja44dsfaj=
java.lang.IllegalArgumentException: Illegal character(s) in message header value: Basic aHVuZ2FtYS5jb206aHVuZ2FtYS5jb20=
at sun.net.www.protocol.http.HttpURLConnection.checkMessageHeader(HttpURLConnection.java:482)
at sun.net.www.protocol.http.HttpURLConnection.isExternalMessageHeaderAllowed(HttpURLConnection.java:434)
at sun.net.www.protocol.http.HttpURLConnection.setRequestProperty(HttpURLConnection.java:2753)
at com.hungama.bbc.domObject.ContentDOMObjects.main(ContentDOMObjects.java:49)
尝试这种方式来编码用户名和密码:
final String userpass = userName + ":" + password;
final String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.NO_WRAP);
您应该从请求属性的字段名称中删除“:”:
urlConnection.setRequestProperty("Authorization", basicAuth);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.