Java后端发出post请求带参数并接收返回的json

核心代码:

参数格式:

“key1=value1&key2=value2”

/***  sendUrl    (远程请求的URL)*  param    (远程请求参数)*  JSONObject    (远程请求返回的JSON)*/private JSONObject sendPostUrl(String url, String param){
        PrintWriter out = null;
        BufferedReader in = null;
        JSONObject jsonObject = null;
        String result = "";
        try {
            URL realUrl = new URL(url);
            // 打开和URL之间的连接
            URLConnection conn = realUrl.openConnection();
            // 发送POST请求必须设置如下两行
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 获取URLConnection对象对应的输出流(设置请求编码为UTF-8)
            out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "UTF-8"));
            // 发送请求参数
            out.print(param);
            // flush输出流的缓冲
            out.flush();
            // 获取请求返回数据(设置返回数据编码为UTF-8)
            in = new BufferedReader(
                    new InputStreamReader(conn.getInputStream(), "UTF-8"));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
            jsonObject = JSONObject.fromObject(result);
            System.out.println(jsonObject);
        } catch (IOException e) {
            e.printStackTrace();
        } finally{
            try{
                if(out!=null){
                    out.close();
                }
                if(in!=null){
                    in.close();
                }
            }
            catch(IOException ex){
                ex.printStackTrace();
            }
        }

        return jsonObject;
    }    

调用方法:

public JSONObject send(String username, String password){
        String params = "username=" + username+ "&password=" + password;
        JSONObject jsonObject = sendPostUrl("https://www.ysy7.com/login/", params);
        return jsonObject;
    }
时间: 2024-09-27 22:40:19

Java后端发出post请求带参数并接收返回的json的相关文章

Spring Boot AOP之对请求的参数入参与返回结果进行拦截处理

Spring Boot AOP之对请求的参数入参与返回结果进行拦截处理 本文链接:https://blog.csdn.net/puhaiyang/article/details/78146620 本文链接:https://blog.csdn.net/puhaiyang/article/details/78146620 spring Aop切面中的@Before @Around等执行顺序与请求参数统一解码 https://www.cnblogs.com/newAndHui/p/11771035.h

java中为什么一些方法带参数

一个很有趣的例子: 比如工厂要造一辆车,需要先设计图纸,然后技工师傅拿到图纸,就要设计,我需要一个椅子,一个方向盘,一块底盘.再然后,仓库就把这些东西给技工师傅,最后车组装完成.1.设计图纸就是需求分析,就是脑子里的思路:这个方法要有什么样的功能?要做些什么事.2.技工师傅需要方向盘.底盘.椅子,就是参数!需要这几样才能把汽车做出来,同理,需要这几个参数这个方法才能完成!这样的参数叫形参,只是一个形式,确定参数的类型!比如要椭圆形的底盘,正方形的轮胎……确定之后,就只能按照既定的类型传递参数,否

java拦截器获取请求完整参数

public class OptLogAspect implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { Map ParameterMap = httpServletRequest.getParamet

文件上传时如何携带参数和接收返回值(亲测有效)

1.页面 2.js 3.java后台接收 亲测有效 原文地址:https://www.cnblogs.com/ysyy/p/12174535.html

C# 请求Web Api 接口,返回的json数据直接反序列化为实体类

需要的引用的dll类: Newtonsoft.Json.dll.System.Net.Http.dll.System.Net.Http.Formatting.dll Web Api接口为GET形式: public static CstyleCmappListRespDTO GetCstyleCmappList(string cstylename, string cmappgname) { CstyleCmappListRespDTO RespDTO = new CstyleCmappListRe

sp_executesql接收返回多个参数实例

近日做项目中需要在EXEC执行Sql字符串时动态的传入参数并接收返回值,于是研究了一下SqlServer中sp_executesql的使用方法,并做了如下的例子.在使用sp_executesql动态传入与接收返回参数时需注意以下事项,以避免大家走弯路.例子中@SQLString,@ParmDefinition一定要使用NVARCHAR类型,否则会报"过程需要参数 '××××' 为 'ntext/nchar/nvarchar' 类型."错误.文档中说这两个变量赋值的字符串前要加N,我试了

Java后端 带File文件及其它参数的Post请求

Java 带File文件及其它参数的Post请求 对于文件上传,客户端通常就是页面,在前端web页面里实现上传文件不是什么难事,写个form,加上enctype = “multipart/form-data”,在写个接收的就可以了,没什么难的. 如果要用java.net.HttpURLConnection,java后台来实现文件上传,还真有点搞头,实现思路和具体步骤就是模拟页面的请求,页面发出的格式如下: -----------------------------7da2e536604c8 Co

Java基础---Java中带参数无返回值方法的使用(三十九)

Java 中带参无返回值方法的使用 有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行.例如,现实生活中电饭锅可以实现"煮饭"的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的"巧妇难为无米之炊"了.我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据. 我们先来看一个带参数,但没有返回值的方法: 上面的代码定义了一个 show 方法,带有一个参数 name

java项目打包成可运行的jar,main方法带参数

转载    侵联删!!! 原文地址:http://www.cnblogs.com/neillee/p/6063808.html#commentform 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行 一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的.对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打包成 war 文件,上传至服务器,供调用.而