Java调用http保留访问状态
发布时间:2020-12-15 06:40:35 所属栏目:Java 来源:网络整理
导读:? package com.coracle; import com.coracle.yk.xframework.util.yunTongXun.HttpRequest; import java.io.* ; java.net.HttpURLConnection; java.net.URL; /** * Created by huangbaidong * 2017/4/12. */ public class TestHttpStatus { static void main(
? package com.coracle; import com.coracle.yk.xframework.util.yunTongXun.HttpRequest; import java.io.*; java.net.HttpURLConnection; java.net.URL; /** * Created by huangbaidong * 2017/4/12. */ public class TestHttpStatus { static void main(String[] args) throws Exception { 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(); } } * 访问其他有权限控制的接口 * @param url 自己传URL * json * sessionId * @return * @throws Exception */ static String httpRequest(String url,String json,String sessionId) 使用POST方式向目的服务器发送请求 URL connect; OutputStreamWriter paramout = null; BufferedReader reader = ; StringBuffer data = new StringBuffer(); { 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(); } } return data.toString(); } * 登录获取session * IOException static 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]; } } ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |