Java http GET POST 请求传参

这篇具有很好参考价值的文章主要介绍了Java http GET POST 请求传参。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HTTP POST请求传参方式
方式一:

        String url = "http://xxxxxxx";
        logger.info("访问接口url: " + url);

        Map<String, String> paramsMap = new HashMap<>();
        paramsMap.put("name", "小明");
        paramsMap.put("age", 18);
        String paramJson = JSON.toJSONString(paramsMap);
        logger.info("json传参:" + paramJson);


        HttpHeaders headers = new HttpHeaders();
        headers.set("X-Access-token", token);
        logger.info("设置token:" + token);
        headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
        logger.info("设置请求Accept格式:APPLICATION_JSON");
        headers.setContentType(MediaType.APPLICATION_JSON);
         logger.info("设置请求ContentType格式:APPLICATION_JSON");
        HttpEntity<String> request = new HttpEntity<String>(paramJson, headers);

        try {
            restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));

            response = restTemplate.postForEntity(url, request, Map.class);

            map = (Map<String, Object>) response.getBody();
            
            logger.info("获取请求接口返回信息:" + map);

            Map<String, Object> map_data = (Map<String, Object>) map.get("data");
           

方式二

        // 创建HttpClient对象
        CloseableHttpClient httpclient = HttpClients.createDefault();
        //http请求url
        HttpPost httpPost = new HttpPost("http://xxxx");
        // 模拟POST/PUT的body中数据,需转为JSON进行签名.
        Map<String, Object> dataMap = new HashMap<String, Object>();
        //POST请求参数
        //授权码
        dataMap.put("authorizationKey", "");
        //客户端IP
        dataMap.put("clientIp", "");
        //名称
        dataMap.put("name", "");
        //转为json传参
        String bodyParam = new Gson().toJson(dataMap);
        //设置编码
        StringEntity bodyData = new StringEntity(bodyParam, "UTF-8");
        httpPost.setEntity(bodyData);
        try {
            httpPost.setHeader("Content-type", "application/json");
            httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
            String urlStr = httpPost.getURI().toString();
            // 公共参数URL
            httpPost.setURI(new URI(urlStr));
            //请求超时时间
            RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(5000)
                    .setConnectionRequestTimeout(5000).setSocketTimeout(5000).build();
            httpPost.setConfig(requestConfig);

            // 执行请求
            CloseableHttpResponse response = httpclient.execute(httpPost);
            // 取响应的结果
            int statusCode = response.getStatusLine().getStatusCode();
            if (statusCode == HttpStatus.SC_OK) {
                String resp = EntityUtils.toString(response.getEntity());
                //此处不同格式的返回信息 用不通方式的json去转
                //请看 https://blog.csdn.net/weixin_38193704/article/details/127402069?spm=1001.2014.3001.5502
                JSONArray jsonArray = (JSONArray) JSONArray.parse(resp);
                if (ObjectUtils.isNotEmpty(jsonArray)) {
                    JSONObject objectJson = jsonArray.getJSONObject(0);
                   System.out.println("获取返回值json信息" + objectJson);
                }
            }
        } catch (Exception e1) {
            e1.printStackTrace();

        }

HTTP GET请求传参方式文章来源地址https://www.toymoban.com/news/detail-618280.html

       //请求参数
        String getQueryParam = "USER_ID=" + userId + "&" + "USER_NO=" + userNo + "&" +      "IDCARD_NO=" + idcardNo;
         // 时间戳
        Long ts = Calendar.getInstance().getTime().getTime();
        // 随机数
        String once = RandomStringUtils.randomAlphanumeric(RANDOM_UUID);
        //签名算法
        String signMethod = "SHA-256";
        // 接口header中的公共参数
        String commonParamUrl = String.format("appKey=%s" + "&" + "ts=%s" + "&" + "once=%s" + "&" + "signMethod=%s",
                geerappkey.get(0).getFieldValue(), ts, once, signMethod);
        // 创建HttpClient对象
        CloseableHttpClient httpclient = HttpClients.createDefault();
        //请求的url
        String getFullUrl = serverApiUrl + "?" + queryParam;
        HttpGet httpGet = new HttpGet(getFullUrl);
        //路径添加header信息
        String getAllParamUrl = commonParamUrl + "&" + queryParam;
        try {
            //获取签名数据
            String signData = TokenUtil.getSignature(geerpwd.get(0).getFieldValue(), getAllParamUrl, signMethod);
            log.info("获取请求机构信息签名===" + signData);
            // 添加header参数 appCode、timestamp、 signaturenonce、signature
            httpGet.addHeader("appKey", geerappkey.get(0).getFieldValue());
            httpGet.addHeader("ts", ts.toString());
            httpGet.addHeader("once", once);
            httpGet.addHeader("signMethod", signMethod);
            httpGet.addHeader("signData", signData);
            String urlStr = httpGet.getURI().toString();
            // 公共参数URL
            log.info("get commonParamter:" + urlStr);
            if (StringUtils.endsWith(urlStr, "/")) {
                urlStr = StringUtils.removeEnd(urlStr, "/");
            }
            //请求时间设置
            httpGet.setURI(new URI(urlStr));
            RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(3000)
                    .setConnectionRequestTimeout(3000).setSocketTimeout(3000).build();
            httpGet.setConfig(requestConfig);
            log.info("urlStr in request:" + httpGet.getURI().toString());
            // 执行请求
            CloseableHttpResponse response = httpclient.execute(httpGet);
            // 取响应的结果
            int statusCode = response.getStatusLine().getStatusCode();
            log.info("response code status:" + statusCode);
            // 打印响应结果
            if (statusCode == HttpStatus.SC_OK) {
                String result = EntityUtils.toString(response.getEntity(), "utf-8");
                JSONObject resultJson = JSON.parseObject(result);
                log.info("checkIdentityParam body:" + resultJson);
                return resultJson;
            }
        } catch (URISyntaxException e) {
            //签名失败
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }

到了这里,关于Java http GET POST 请求传参的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java调用http接口(get请求和post请求)

    1.http接口的格式如下: 图片选择失败,我只能把数据贴出来,如果有不懂的可以问我哈。 http://localhost:8881/department/getDepartmentList接口数据如下:(请求方式是GET) http://localhost:8881/department/getDataById?id=3接口数据如下:(请求方式是POST) 2.需要引入的包有: 3.实现方法如下:

    2024年02月13日
    浏览(38)
  • 使用C#发送HTTP的Get和Post请求

    2024年02月07日
    浏览(37)
  • (一)python发送HTTP 请求的两种方式(get和post )

    注:发送请求(包括请求行、方法类型、头、体) 常见的请求方式有get、post、put、delete            格式:requests.get() (内容: url必填; params选填:url参数字典) # ~ 无参数的get请求 # ~ 有参数的get请求 # ~ 使用params的get请求        知识扩展#  requests.post() post请求分为5种,常用

    2024年02月02日
    浏览(52)
  • tomcat(跟着宝哥学java:tomcat)tomcat安装 发布项目 配置eclipse http协议详解、get请求、post请求、url详解

    在%CATALINA_HOME%webapps下创建一个文件夹:hehe 在hehe中创建子文件夹:WEB-INF和资源文件夹(html/jsp/css/imgs/js) 在WEB-INF中创建子文件夹classes::存储java源文件生成的字节码文件 在WEB-INF中创建子文件夹lib::存储项目以来的jar 在WEB-INF中创建子web项目的核心配置文件:web.xml web

    2024年02月03日
    浏览(31)
  • C语言通过IXMLHTTPRequest以get或post方式发送http请求获取服务器文本或xml数据

    做过网页设计的人应该都知道ajax。 Ajax即Asynchronous Javascript And XML(异步的JavaScript和XML)。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。 在IE浏览器中,Ajax技术就是

    2024年01月25日
    浏览(37)
  • 前端post,get请求传参方式 以及后台接收

    post请求: 1:js中 2:使用 首先引入方法js: 调用方法 3:浏览器请求 4:后台参数接收 get请求: 第一种:通过params对象传递,将参数以键值对的形式传递,当传递的参数为多个时,浏览器会自动拼接进行分割 1:js中 2:使用 首先引入方法js: 调用方法 3:浏览器请求 4:后台

    2024年02月10日
    浏览(31)
  • axios中get、post请求传参区别及使用

    params 中的参数是通过地址栏传参,一般用于get请求 data 是添加到请求体(body)中的, 一般用于post请求 get请求只能传query参数,query参数都是拼在请求地址上的 post可以传body和query两种形式的参数 一般情况下post请求方式的Parameter Type是body,在一些极少情况下,post请求的参数

    2024年02月14日
    浏览(30)
  • Java发起Post 、Get 各种请求整合

    java发起get请求和post请求的各种情况整合。具体看代码以及注释。其中Constants.UTF8本质是指\\\"UTF-8\\\"

    2024年02月04日
    浏览(37)
  • httpclient发送Get请求和Post请求

    1). 创建HttpClient对象,可以使用 HttpClients.createDefault() ; 2). 如果是无参数的GET请求,则直接使用构造方法 HttpGet(String url )创建HttpGet对象即可; 3)如果是带参数GET请求,则可以先使用 URIBuilder (String url)创建对象,再调用 addParameter (Stringparam, String value)`, 或setParameter(String param

    2024年02月06日
    浏览(42)
  • java中使用hutool调用get请求,post请求

    一、hutool工具包实现 1、get请求 2、post请求 二、java net实现 1、java中http协议调用get请求 2、java中https协议调用get请求

    2024年02月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包