java http 访问_Java调用http保留访问状态

packagecom.coracle;importcom.coracle.yk.xframework.util.yunTongXun.HttpRequest;import java.io.*;java.net.HttpURLConnection;java.net.URL;/*** Created by huangbaidong

* 2017/4/12.*/

public classTestHttpStatus {static void main(String[] args) throwsException {try{//1、先登录获取SessionId也就是cookie

String sessionId =login();2、然后调用其他接口,带上cookie,

String result = httpRequest("http://localhost:8083/xweb/api/v2/order/list","{}",sessionId);

System.out.println(result);

}catch(IOException e) {

e.printStackTrace();

}

}* 访问其他有权限控制的接口

*@paramurl 自己传URL

*json

*sessionId

*@return*@throwsException*/

static String httpRequest(String url,String json,String sessionId) 使用POST方式向目的服务器发送请求

URL connect;

OutputStreamWriter paramout= null;

BufferedReader reader= ;

StringBuffer data= newStringBuffer();{

connect= URL(url);

HttpURLConnection connection=(HttpURLConnection) connect.openConnection();

connection.setRequestMethod("POST");

connection.setDoOutput(true);

connection.setRequestProperty("Content-Type","application/json");

connection.setRequestProperty("Cookie"sessionId);

paramout= new OutputStreamWriter(connection.getOutputStream(),"UTF-8");

paramout.write(json);

paramout.flush();

reader= new BufferedReader(new InputStreamReader(connection.getInputStream(),1)">));

String line;

while ((line = reader.readLine()) != ) {

data.append(line);

}

}(Exception e) {

e.printStackTrace();

}finally{if (paramout != ) {

paramout.close();

}if (reader != ) {

reader.close();

}

}(IOException ex) {

ex.printStackTrace();

}

}returndata.toString();

}* 登录获取session

*IOExceptionstatic String login() IOException {

URL url= new URL("http://localhost:8083/xweb/api/v2/login/userLogin?loginName=positec&password=qwe123");

HttpURLConnection conn=(HttpURLConnection)url.openConnection();

conn.setRequestMethod("POST");

conn.setDoOutput();

conn.setRequestProperty("Content-Type",1)">);

PrintWriter out = PrintWriter(conn.getOutputStream());

String str= "url = " +url;

out.println(str);

out.flush();

BufferedReader in= ;

in= new InputStreamReader(conn.getInputStream(),1)">));

String destStr = "";

String inputLin= "";while((inputLin = in.readLine()) != ){

destStr+=inputLin;

}

System.out.println(destStr);

String session_value= conn.getHeaderField("Set-Cookie");

String[] sessionId= session_value.split(";");第一登录,取出SESSIONID

System.out.println("Session Value = " +session_value);return sessionId[0];

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值