用如下命令导入证书文件到jdk中去
keytool -import -alias 12306 -keystore cacerts -file D:\srca12306\srca.cer -trustcacerts
keytool -import -keystore %JAVA_HOME%\jre\lib\security\cacerts -file D:\srca12306\srca.cer -alias 12307
keytool -import -keystore cacerts -file D:\srca12306\srca.cer -alias 12307
jdk密钥库的默认密码为changeit
HttpsURLConnection 中文乱码问题
public class httpUTIL {
private String url;
private URL myurl;
private boolean is_ok;
// private
private HttpsURLConnection https;
public httpUTIL(String url){
this.url=url;
https=null;
}
public void init() throws MalformedURLException{
myurl=new URL(url);
try {
https=(HttpsURLConnection )myurl.openConnection();
https.setRequestProperty("Accept-Language", "zh-CN");
//https.setRequestProperty("contentType", "GBK");
https.setRequestProperty("Charset", "utf-8");
if(https.getResponseCode()==https.HTTP_OK){
is_ok=true;
}
else
is_ok=false;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public HttpsURLConnection gethttps(){
return https;
}
public boolean gethttp_status(){
return is_ok;
}
public static void main(String args[]){
String url=bookInfo.book_init;
httpUTIL http=new httpUTIL(url);
HttpsURLConnection httpscon;
StringBuilder testhtml=new StringBuilder("");
InputStream in;
BufferedReader buffread;
try {
http.init();
httpscon=http.gethttps();
if(httpscon==null)
{
System.out.println("https null");
return ;
}
httpscon.connect();
in=httpscon.getInputStream();
if(in==null)
{
System.out.println("in null");
return ;
}
buffread=new BufferedReader(new InputStreamReader(in,"utf-8"));
//编码问题,这边处理一下就ok了,不错 啊啊啊,对流进行转码
String line;
line=buffread.readLine();
while(line!=null){
testhtml.append(line);
line=buffread.readLine();
}
//System.out.println(testhtml);
String strtest=testhtml.toString();
System.out.println(strtest);
int a=strtest.indexOf("到达车站");
int b=testhtml.indexOf("html");
//怎么会这样,我的这个中文显示乱码,并且找不到这个中文字符
System.out.println("杭州"+a+" "+b);
String str="test+杭州"+"test";
int c=str.indexOf("杭州");
System.out.println(c);
if(httpscon != null){
httpscon.disconnect();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
原文:http://blog.csdn.net/sn_zzy/article/details/22874501