我已经在我的SG中使用HTTPs协议安装了2个目的地。 1适用于:
另一个是:
从我的应用程序中,我想像这样访问这两个URL:
url = new URL(urlStr);
httpConn = (HttpURLConnection) url.openConnection();
httpConn.setReadTimeout(5000);
httpConn.setConnectTimeout(5000);
if(httpConn.getResponseCode() == 200){
inStream = httpConn.getInputStream();
bytesData = IOUtils.toByteArray(inStream);
}
不过,我把SG中的云主机和端口设置为" urlStr"。但是它无法工作。所以任何人都可以帮忙提示?
答案 0 :(得分:0)
我进一步充实了代码并让它发挥作用。也许这个扩展代码示例将帮助您。我建议在URL参数中输入以https开头但没有端口号的地址,因为它默认为443.您可以使用类似 java -cp commons-io-2.6 / commons-io的类路径运行它-2.6.jar :. javassl 强>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.io.IOException;
import java.net.MalformedURLException;
import org.apache.commons.io.IOUtils;
class javassl {
public static void main(String args[]){
String urlStr = new String("https://www.example.com/");
URL url;
HttpURLConnection httpConn;
InputStream inStream;
byte[] bytesData;
try {
url = new URL(urlStr);
try {
httpConn = (HttpURLConnection) url.openConnection();
httpConn.setReadTimeout(5000);
httpConn.setConnectTimeout(5000);
if(httpConn.getResponseCode() == 200){
inStream = httpConn.getInputStream();
bytesData = IOUtils.toByteArray(inStream);
System.out.println("Got 200 OK bytes " + bytesData.length);
}
} catch (IOException e) {
}
} catch(MalformedURLException e) {
}
}
}
答案 1 :(得分:0)
它的工作原理如下:
因为真实网址是使用https协议在目的地设置的,所以在代码中,我使用带云主机(https)和端口的网址更新我的代码,然后就可以了。