当前位置: 首页 > 编程日记 > 正文

java调用接口

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();  
              }  
}

相关文章:

LSGO:团队学习模式“社群化”讨论!

大家关注LSGO软件技术团队也有一段时间了,容我向大家汇报一下目前团队的工作模式。我们通常是这样的,新来团队的同学我们会按照兴趣进行分组,然后在学长或者我的牵头下带着大家“刷”书,以便新来的同学具备最小核心知识。通常&…

Captaris Workflow 6.0 EventService 执行效率低下的排除。

如果您的Captaris Workflow Event Task执行的间隔时间超过30分钟,客户可能向您抱怨流程效率太低了,这时候你可以准备一个只包含Event Task的模型(我已经做了一个,点击此处下载),把它部署到服务器并新建一个…

leetcode--最长公共前缀--python

文章目录题目题目详情示例解题思路代码运行结果最佳方案题目 题目详情 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 输入: ["flower","flow","flight"] 输出: "fl"…

个人知识管理的29个原则--摘录

1、持续的学习成为个人生存和发展的基础。持续学习不一定能带来成功,但不学习一定失败; 2、信息和知识爆炸,在一段时间和时期内,学习的内容必须聚焦。起码要在一个领域内成为专家。 3、你应该学习的内容取决于你的价值观、特长、…

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

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

对矩阵分解的粗浅理解之LU分解

** 欢迎大家到Matlab与线性代数专栏中查看相关图文。 ** 本图文从行列式计算出发引出了对矩阵LU分解的粗浅理解,希望对正在学习线性代数的同学有所帮助。

leetcode--删除链表的倒数第N个节点--python

文章目录题目题目详情示例说明解题思路思路代码运行结果最佳方案题目 题目详情 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例 给定一个链表: 1->2->3->4->5, 和 n 2.当删除了倒数第二个节点后,链表…

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

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

古墓丽影8通关了

大概完了两三周吧,每天玩两个多小时,终于把它通关了。这里谈一下我的感受。 画面、声音非常棒,游戏场景也十分宏大,人物造型也更适合东方的审美观,比古墓7强了不少。人物的花样更多了,操作也非常流畅&#…

如何利用遗传算法进行自变量降维

如何利用遗传算法进行自变量降维 GAOT工具箱下载地址:http://download.csdn.net/download/lsgo_myp/9721624 乳腺癌数据集下载地址:http://download.csdn.net/download/lsgo_myp/9721664

leetcode--括号生成--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 示例 例如,给出 n 3,生成结果为:["(((…

smarty的简单分页

以下是模板中的smarty代码,用smarty简单的代入相关的变量就行了,非常简单,但是在php代码中还要传入page这个参数。我觉得这样分挺好,非常简单。我越来越喜欢用smarty了 {if $pageCount > 1} {foreach itemi from$pagerList} {if $pageN…

如何利用遗传算法进行自变量降维(代码部分)

如何利用遗传算法进行自变量降维(代码部分) main.m 主函数 输入自变量优化适应度子函数 fitness.m 输入自变量优化编码解码子函数 de_code.m BP网络权值和阈值优化适应度子函数 gabpEval.m BP网络权值和阈值优化编码解码子函数 gadecod.m 输出结果

unity3d教程运行物理机制

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

leetcode--电话号码和字母组合--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 输入&#xff1a…

轻松记账工程冲刺第二阶段10

昨天干了什么: 对页面进行优化测试,对软件进行测试,找出bug,并调试bug 今天准备干什么: 测试完成后,进行应用的发布。注册应用商店账户,然后对apk进行加固签名,并进行发布等待审核。…

Matlab与线性代数 -- 矩阵的范数

本图文介绍了矩阵的范数以及在Matlab中的具体操作。

leetcode--罗马数字转整数--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L …

如何利用azMan (Authorization Manager) 实现 role-based的安全验证机制

在WCF中如何配置基于asp.net role的授权机制&#xff0c;看了些时日&#xff0c;总算有点眉目了 。 以下是一个典型的通过自定义的role-based (principalPermissionModeUseAspNetRoles)来进行授权的WCF service config file. Code<?xml version"1.0" encoding&q…

spring-cloud-ribbon负载均衡

Ribbon Ribbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon&#xff0c;后续会介绍Feign的使用。 Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用。 当Ribbon与Eureka联合使用时&#xff0c;ribbonServerList会被Di…

LSGO代码小组第17周复盘日志

本图文是15级数理系黄佳新同学代表代码小组进行的学习汇报内容。

leetcode--最小路径和--python

文章目录题目题目详情示例解题思路思路动态规划小知识代码运行结果最佳方案题目 题目详情 给定一个包含非负整数的 m x n 网格&#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 示例…

Python 编写用户登录接口

附有流程图可以看一看&#xff0c;第一次画会慢慢改进的。代码如下&#xff1a;1.User 用户名存储文件王二 123 张三 1234 李四 1234562.Lock_User 被锁用户文件3. Land.py 主程序文件#codingutf-8import sysi0while i<3:print("----Welcome------&quo…

再发布一个windows live writer 插件 图标信息框 wlw plugin icon info frame

原地址&#xff1a; http://www.zu14.cn/2008/12/14/wlw_plugin_icontip/ 自上次发布 windows live writer 插件 coolemotion 之后&#xff0c;已经有一段时间了&#xff0c;今天再发布一款 其实&#xff0c;这个插件已经发布很久了&#xff0c; 只是我懒得去 windows live gal…

什么是抽样分布?

本图文详细介绍了抽样分布的概念并利用Matlab进行了仿真。有团队孔令才博士提供。

leetcode--下一个更大元素II--python

文章目录题目题目详情示例解题思路思路代码运行结果最佳方案题目 题目详情 给定一个循环数组&#xff08;最后一个元素的下一个元素是数组的第一个元素&#xff09;&#xff0c;输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序&#xff0c;这个数字…

我也说说Emacs吧(6) - Lisp速成

前面我们学习了基本操作&#xff0c;也走马观花地看了不少emacs lisp的代码。这一章我们做一个lisp的速成讲座。 Lisp的含义是表处理语言。它的代码组成结构都是用括号组成的表来表示的。Lisp中的功能&#xff0c;要么是以函数形式求值&#xff0c;要么本身就是一些特殊表。比如…

Matlab与数据结构 -- 如何获取给定目录中的文件

本图文详细介绍了Matlab中如何获取给定目录中文件的操作。

我的资源 分享区

把最近所做过一些程序都发上来。希望有用。已经上传了我的资源里面去了 第一期&#xff1a; 2007年制作的手机抽奖程序&#xff08;没完善版本&#xff09;&#xff1a; As 2.0 版本手机抽奖程序&#xff1a;http://dl4.csdn.net/fd.php?i60728776657431&s52b0082a4017dde…

软件测试概述--基础篇

文章目录软件测试概述软件测试基本概念软件测试的目的和原则软件测试的分类测试用例软件测试概述 软件测试基本概念 软件缺陷&#xff1a;俗话说就是bug。即计算机软件或程序存在某种破坏正确运行能力的问题、错误或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不…