使用Java的基本授权(1.5)
注意:调用这个JAR文件的主机应用程序实际上是 类仅支持JVM1.5。因为代码的触发器来自 对于应用程序,除了限制Java之外,我们别无选择 代码与JDK1.5的兼容性 下面是我尝试过的代码:使用Java的基本授权(1.5),java,twilio,Java,Twilio,注意:调用这个JAR文件的主机应用程序实际上是 类仅支持JVM1.5。因为代码的触发器来自 对于应用程序,除了限制Java之外,我们别无选择 代码与JDK1.5的兼容性 下面是我尝试过的代码: String webPage = "https://api.twilio.com/2010-04-01/Accounts"; URL url = new URL(webPage); URLConnection urlConnection = url.open
String webPage = "https://api.twilio.com/2010-04-01/Accounts";
URL url = new URL(webPage);
URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("Authorization", "Basic BASE64ECONDED_STRING_OF_LENGTH_93_CHARACTERS_WITHOUT_ANY_WHITESPACE");
//((HttpURLConnection) urlConnection).setRequestMethod("GET");//I get same error with or without this
InputStream is = urlConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
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 ***");
我一直收到的错误是:
javax.net.ssl.SSLKeyException: RSA premaster secret error
at com.sun.net.ssl.internal.ssl.PreMasterSecret.<init>(PreMasterSecret.java:86)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:514)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:160)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1038)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:405)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:170)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:913)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
at test.SmsSender.TwilSend(SmsSender.java:117)
at test.SmsSender.main(SmsSender.java:26)
Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.a(DashoA12275)
at javax.crypto.Cipher.a(DashoA12275)
at javax.crypto.Cipher.a(DashoA12275)
at javax.crypto.Cipher.init(DashoA12275)
at com.sun.net.ssl.internal.ssl.RSACipher.encryptInit(RSACipher.java:40)
at com.sun.net.ssl.internal.ssl.PreMasterSecret.<init>(PreMasterSecret.java:83)
... 13 more
看起来Java 1.5不支持基本授权。同样的代码在Java1.7中工作。我也得到了成功的回应。
有没有一种方法可以让它在Java 1.5中工作?有没有任何强有力的理由让它在Java 1.5中工作?这个版本已经过时很久了,我宁愿投资于升级应用程序以使用Java7甚至更好的Java8Yes。调用这个JAR文件的主机应用程序只支持JVM1.5。这确实是一个滞后现象。但我们别无选择。你是否为NextLabs工作?URL是否动态处理http与https?我不认为这是因为你使用的是基本身份验证。它与SSL连接上的加密有关。。