关于java 用https调用webservice 有安全机制 怎么加请求头 代码如下 急 在线等

Lucifer丶晓风 2015-10-09 10:51:59
public static String httpRequest(String url){

//接收数据
StringBuffer buffer = new StringBuffer();

try {
//创建SSLContext对象,并使用我们指定的信任管理器初始化
TrustManager[] tm = {new MyX509TrustManager()};
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());

//从上述SSLContext对象中得到SSLSocketFactory对象
SSLSocketFactory ssf = sslContext.getSocketFactory();

//创建URL连接
URL urls = new URL(null, url,new sun.net.www.protocol.https.Handler());

//创建HttpS加密连接
HttpsURLConnection httpUrlConn = (HttpsURLConnection) urls.openConnection();
httpUrlConn.setSSLSocketFactory(ssf);

//设置是否向connection输出,因为这个是post请求,参数要放在 HTTP正文内因此需要设为true
httpUrlConn.setDoOutput(true);
httpUrlConn.setDoInput(true);
httpUrlConn.setUseCaches(false);
//设置请求方式
httpUrlConn.setRequestMethod("GET");

//将返回的输入流转换成字符串
InputStream inputStream = httpUrlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

//接收数据
String str = null;

//循环读取数据
while ((str = bufferedReader.readLine())!=null) {
buffer.append(str);
}

//关闭连接
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
httpUrlConn.disconnect();

} catch (Exception e) {
e.printStackTrace();
//logger.error("连接出错!");
}

return buffer.toString();
}



接口文件描述 如下 :中间层接口采用标准SOAP协议,及SOAPHeader安全认证。
接口地址:https://data.cydf.org.cn/usersys/Service.asmx
SOAPHeader:CredentialSoapHeader
CredentialSoapHeader属性:strAccount为账号,strKey为KEY
安全机制:中间层对需要调用的网站进行注册,给网站提供账号和KEY,网站调用时需要通过SOAPHeader传递账号及KEY到服务器进行身份认证,具体验证方法分为三层:
第一层:如果调用接口没有传递SoapHeader或者SoapHeader参数不全,则认为无权限,调用服务接口失败。
第二层:如果接口获取到的网站IP与账号组合不等于所传递过来的KEY,则认为无权限,调用服务接口失败。
第三层:如果账号、Key、IP与网站注册信息库中信息不一致,则认为无权限,调用服务接口失败


没有给demo 现在http可以直接调 但是全都是返回:验证信息为空 ! 对方给了我一个帐号密码 不知道怎么加进去 求解
...全文
166 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhong4460 2015-10-09
  • 打赏
  • 举报
回复
用AXIS 调用,,或者拼出SOAP格式的XML发过去,,,,

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧