String defURL = "http://bd.basdoc.com/rest/data/transfer"; URL url = new URL(defURL); // 打开和URL之间的连接 HttpURLConnection con = (HttpURLConnection)url.openConnection(); con.setRequestMethod("POST");//请求post方式   con.setUseCaches(false); // Post请求不能使用缓存 con.setDoInput(true);// 设置是否从HttpURLConnection输入,默认值为 true con.setDoOutput(true);// 设置是否使用HttpURLConnection进行输出,默认值为 false //设置header内的参数 connection.setRequestProperty("健, "值"); con.setRequestProperty("Content-Type", "application/json"); con.setRequestProperty("isTree", "true");   con.setRequestProperty("isLastPage", "true"); //设置body内的参数,put到JSONObject中 JSONObject param = new JSONObject(); param.put("sysId", "diwork"); param.put("tenantId", tenantId); // 建立实际的连接 con.connect(); // 得到请求的输出流对象 OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream(),"UTF-8"); writer.write(param.toString()); writer.flush(); // 获取服务端响应,通过输入流来读取URL的响应 InputStream is = con.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); StringBuffer sbf = new StringBuffer(); String strRead = null; while ((strRead = reader.readLine()) != null) { sbf.append(strRead); sbf.append("\r\n"); reader.close(); // 关闭连接 con.disconnect(); // 打印读到的响应结果 System.out.println("运行结束:"+sbf.toString()); @Testpublic void testByTenantId() throws Exception { String tenantId="nhs7wd2c"; String defURL = "http://bd.basdoc.com/rest/data/transfer"; URL url = new URL(defURL); // 打开和URL之间的连接 HttpURLConnection con = (HttpURLConnection)url.open.
Http 请求 之基于 HttpUrlConnection ,支持 Header , Body 传值,支持Multipart上传文件: public static String post (String actionUrl, Map headParams, Map params, Map files) throws IOException { String BOUNDARY = java
先谈一些我的认识,有可能不完全正确: Socket 应该是 TCP 协议层的概念,如果要使用 Socket 直接通信,需要使用远程地址和端口号。其中,端口号根据具体的协议而不同,比如 HTTP 协议默认使用的端口号为 80/tcp。 HttpURLConnec...
1.conn.setRequestProPerty(name,value),两个 参数 都是字符串。。。。 2.用 httpURLConnection 的setRequestProPerty(name,value)方法,就能向 header 里添加信息。 如:设置content-type httpURLConnection .setRequestProperty("token", "10051:abc...
现在对接接口数据,都有一些很好用的工具类,例如:RestTemplate,但有些场景还是需要我们自己手动去 实现 ,而且自己 实现 一遍也有利我们理解。废话不多说了,现在通过 HttpURLConnection 来发起get、 post 请求 。 Get 请求 @GetMapping("/getMethod") public String testGetMethod() {
Post man的 body 的类型主要由四种类型的 参数 : form-data、x-www-form-urlencoded、raw、binary 由于 post 请求 参数 才放到 请求 体( Body )里面,get的 请求 参数 一般都直接跟在url后面,所以这里 Body 里面 参数 都是指的 post 请求 参数 ,那 post 请求 测试时怎么判断选择哪个格式的来发送 参数 呢 一、form-data(multipart/form-data),支持上传文件的表单类型: form-data对应着http 请求 中的Content-Type=multip
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net. HttpURLConnection ; import java.net.URL; public class Http Post Example { private final String USER_AGENT = "Mozilla/5.0"; public static void main(String[] args) throws Exception { Http Post Example http = new Http Post Example(); System.out.println("Testing 1 - Send Http POST request"); http.send Post (); // HTTP POST request private void send Post () throws Exception { String url = "http://www.example.com"; URL obj = new URL(url); HttpURLConnection con = ( HttpURLConnection ) obj.openConnection(); //add reuqest header con.setRequestMethod(" POST "); con.setRequestProperty("User-Agent", USER_AGENT); con.setRequestProperty("Accept-Language", "en-US,en;q=0.5"); String urlParameters = "param1=value1&param2=value2"; // Send post request con.setDoOutput(true); DataOutputStream wr = new DataOutputStream(con.getOutputStream()); wr.writeBytes(urlParameters); wr.flush(); wr.close(); int responseCode = con.getResponseCode(); System.out.println("\nSending ' POST ' request to URL : " + url); System.out.println(" Post parameters : " + urlParameters); System.out.println("Response Code : " + responseCode); BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); in.close(); //print result System.out.println(response.toString());