java调用接口

news/2024/9/9 13:04:36
public class DemoTest {  
            
              public static final String GET_URL = "http://112.4.27.9/mall-back/if_user/store_list?storeId=32";  //get请求
          //    public static final String POST_URL = "http://112.4.27.9/mall-back/if_user/store_list";  
              public static final String POST_URL = "http://121.40.204.191:8180/mdserver/service/installLock";  //post请求
                
              /** 
               * 接口调用 GET 
               */  
              public static void httpURLConectionGET() {  
                  try {  
                      URL url = new URL(GET_URL);    // 把字符串转换为URL请求地址  
                      HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打开连接  
                      connection.connect();// 连接会话  
                      // 获取输入流  
                      BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));  
                      String line;  
                      StringBuilder sb = new StringBuilder();  
                      while ((line = br.readLine()) != null) {// 循环读取流  
                          sb.append(line);  
                      }  
                      br.close();// 关闭流  
                      connection.disconnect();// 断开连接  
                      System.out.println(sb.toString());  
                  } catch (Exception e) {  
                      e.printStackTrace();  
                      System.out.println("失败!");  
                  }  
              }  
                
              /** 
               * 接口调用  POST 
               */  
              public static void httpURLConnectionPOST () {  
                  try {  
                      URL url = new URL(POST_URL);  
                        
                      // 将url 以 open方法返回的urlConnection  连接强转为HttpURLConnection连接  (标识一个url所引用的远程对象连接)  
                      HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 此时cnnection只是为一个连接对象,待连接中  
                        
                      // 设置连接输出流为true,默认false (post 请求是以流的方式隐式的传递参数)  
                      connection.setDoOutput(true);  
                        
                      // 设置连接输入流为true  
                      connection.setDoInput(true);  
                        
                      // 设置请求方式为post  
                      connection.setRequestMethod("POST");  
                        
                      // post请求缓存设为false  
                      connection.setUseCaches(false);  
                        
                      // 设置该HttpURLConnection实例是否自动执行重定向  
                      connection.setInstanceFollowRedirects(true);  
                        
                      // 设置请求头里面的各个属性 (以下为设置内容的类型,设置为经过urlEncoded编码过的from参数)  
                      // application/x-javascript text/xml->xml数据 application/x-javascript->json对象 application/x-www-form-urlencoded->表单数据  
                      // ;charset=utf-8 必须要,不然妙兜那边会出现乱码【】  
                      connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");     
                        
                      // 建立连接 (请求未开始,直到connection.getInputStream()方法调用时才发起,以上各个参数设置需在此方法之前进行)  
                      connection.connect();  
                        
                      // 创建输入输出流,用于往连接里面输出携带的参数,(输出内容为?后面的内容)  
                      DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());  
                        
                      String app_key = "app_key="+ URLEncoder.encode("4f7bf8c8260124e6e9c6bf094951a111", "utf-8");        // 已修改【改为错误数据,以免信息泄露】  
                      String agt_num = "&agt_num="+ URLEncoder.encode("10111", "utf-8");              // 已修改【改为错误数据,以免信息泄露】  
                      String pid = "&pid="+ URLEncoder.encode("BLZXA150401111", "utf-8");             // 已修改【改为错误数据,以免信息泄露】  
                      String departid = "&departid="+ URLEncoder.encode("10007111", "utf-8");         // 已修改【改为错误数据,以免信息泄露】  
                      String install_lock_name = "&install_lock_name="+ URLEncoder.encode("南天大门", "utf-8");  
                      String install_address = "&install_address="+ URLEncoder.encode("北京育新", "utf-8");  
                      String install_gps = "&install_gps="+ URLEncoder.encode("116.350888,40.011001", "utf-8");  
                      String install_work = "&install_work="+ URLEncoder.encode("小李", "utf-8");  
                      String install_telete = "&install_telete="+ URLEncoder.encode("13000000000", "utf-8");  
                      String intall_comm = "&intall_comm="+ URLEncoder.encode("一切正常", "utf-8");  
                        
                      // 格式 parm = aaa=111&bbb=222&ccc=333&ddd=444  
                      String parm = app_key+ agt_num+ pid+ departid+ install_lock_name+ install_address+ install_gps+ install_work+ install_telete+ intall_comm;  
                        
                      // 将参数输出到连接  
                      dataout.writeBytes(parm);  
                        
                      // 输出完成后刷新并关闭流  
                      dataout.flush();  
                      dataout.close(); // 重要且易忽略步骤 (关闭流,切记!)   
                        
          //            System.out.println(connection.getResponseCode());  
                        
                      // 连接发起请求,处理服务器响应  (从连接获取到输入流并包装为bufferedReader)  
                      BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));   
                      String line;  
                      StringBuilder sb = new StringBuilder(); // 用来存储响应数据  
                        
                      // 循环读取流,若不到结尾处  
                      while ((line = bf.readLine()) != null) {  
          //                sb.append(bf.readLine());  
                          sb.append(line).append(System.getProperty("line.separator"));  
                      }  
                      bf.close();    // 重要且易忽略步骤 (关闭流,切记!)   
                      connection.disconnect(); // 销毁连接  
                      System.out.println(sb.toString());  
                
                  } catch (Exception e) {  
                      e.printStackTrace();  
                  }  
              }  
                
              public static void main(String[] args) {  
          //        httpURLConectionGET();  
                  httpURLConnectionPOST();  
              }  
          }  

http://lihuaxi.xjx100.cn/news/240608.html

相关文章

java学习手册

http://www.runoob.com/java/java-environment-setup.html 转载于:https://www.cnblogs.com/wth21-1314/p/7722090.html

硬铺路、软筑墙:三星移动在中国的新路径

虽然已经来过中国60多次,但是高东真的普通话并不十分“地道”。但是当这个三星移动掌舵者一字一字吐出“三星绝不放弃中国市场”的话语时,与会的媒体几乎都在他脸上读到了一种坚毅——在5月于古北水镇召开的Galaxy S8|S8发布会上,他向数百家媒…

数据依赖症:当今AI领域的核心风险

在最近结束的2017年度AI星际争霸竞赛上,Facebook做出了一款人工智能“CherryPi”,参与到这项旨在让各路AI技术在星际争霸游戏中同场竞技的赛事之中。 但很遗憾的是,Facebook仅仅获得了赛事的第六名,最直接的原因,在于F…

使用shell脚本一次性解压某一路径下多个压缩文件

场景 博主下载下了一个数据集,里面的压缩文件实在是太多了,一个一个地去tar -jxvf实在感觉笨笨的,于是参考了一些网上的写法编写了一个基于for do循环的解压缩脚本。 说明 1. 我的压缩文件全部是.tar.bz2结尾的,如果是其他的可…

VmWare 与 宿主主机通信 STEP BY STEP (适用于刚開始学习的人)

基本原理 在虚拟机中有三种通信方式,例如以下图所看到的 1. Bridged(桥接模式) 在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它能够訪问网内不论什么一台机器只是你须要多于一个的IP地址,并且须要手工为 …

(已解决)多卡训练时报错RuntimeError: grad can be implicitly created only for scalar outputs

背景 博主第一次使用多卡训练,在程序中添加了如下代码 # 包装为并行风格模型 os.environ["CUDA_DEVICE_ORDER"] "PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"] 0,1,2,3 device_ids [0, 1, 2, 3] model.to("cuda:0"…

艾伦人工智能研究院开源AllenNLP,基于PyTorch轻松构建NLP模型

艾伦人工智能研究院(AI2)开源AllenNLP,它是一个基于PyTorch的NLP研究库,利用深度学习来进行自然语言理解,通过处理低层次的细节、提供高质量的参考实现,能轻松快速地帮助研究员构建新的语言理解模型。 Alle…

unity3d教程运行物理机制

首先,我们将把Hooke定律写Euler方法结合在一起找到新坐标、加速和速度。Hooke定律是Fkx,这里的F是指由水流产生的力(记住,我们将把水体表面模拟为水流),k是指水流的常量。x则是位移。我们的位移将成为每一个…