java向第三方发送post请求,数据格式为json。废话不多说,直接上代码

import com.alibaba.fastjson.JSON;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.omg.Messaging.SYNC_WITH_TRANSPORT;import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;public class HttpRequestTest {public static void main(String [] args ) throws Exception {httpPost();}// get请求
// 实际的请求头设置还不完善,以后再补充public static void httpGet() throws IOException {HttpClient client = new HttpClient();GetMethod getMethod = new GetMethod("http://。。。");int i = client.executeMethod(getMethod);System.out.println(new String(getMethod.getResponseBody()));}// 向第三方接口发送一个post 请求的参数的看具体的要求,该接口想要的数据是什么类型,如果是json,那就把参数转换为json类型,其他的转换为其它类型,如阿里的接口参数就有的不是json类型public static void httpPost() throws Exception {// json格式的参数,我们可以用map来封装参数,然后将参数转换为json格式Map<String ,Object> params = new HashMap<>();params.put("articleID",44);params.put("columnID",44);params.put("desColumnID",44);params.put("title","44");params.put("subTitle","44");params.put("leadTitle","44");params.put("abstract","44");params.put("articleType",0);params.put("source","44");params.put("tag","44");params.put("optUser","44");params.put("author","44");params.put("editor","44");params.put("liability","44");params.put("status",1);params.put("content","44");params.put("imgUrl","44");String paramsJson = JSON.toJSONString(params); // 将参数转换为json字符串System.out.println(paramsJson);//String params="{\"articleID\":44,\"columnID\":44,\"desColumnID\":44,\"title\":\"44\",\"subTitle\":\"44\",\"leadTitle\":\"44\",\"abstract\":\"44\",\"articleType\":0,\"source\":44\",\"tag\":\"44\",\"optUser\":\"44\",\"author\":\"44\",\"editor\":\"44\",\"liability\":\"44\",\"status\":1,\"content\":\"44\",\"imgUrl\":\"http://dev-file.aimingtai.com/webdata/45/images/2018/0829/15355154473121002.jpg\"}";// 服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。所以说到 POST 提交数据方案,包含了 Content-Type 和消息主体编码方式两部分HttpClient client = new HttpClient(); // 客户端实例化PostMethod postMethod = new PostMethod("http://。。。。"); // 请求方法post,可以将请求路径传入构造参数中postMethod.addRequestHeader("Content-type", "application/json; charset=utf-8");byte[] requestBytes = paramsJson.getBytes("utf-8"); // 将参数转为二进制流InputStream inputStream = new ByteArrayInputStream(requestBytes, 0,requestBytes.length);RequestEntity requestEntity = new InputStreamRequestEntity(inputStream,requestBytes.length, "application/json; charset=utf-8"); // 请求体postMethod.setRequestEntity(requestEntity);   // 将参数放入请求体int i = client.executeMethod(postMethod);  // 执行方法System.out.println("请求状态"+i); // 这里因该有判断的,根据请求状态判断请求是否成功,然后根据第三方接口返回的数据格式,解析出我们需要的数据byte[] responseBody = postMethod.getResponseBody(); // 得到相应数据String s = new String(responseBody);System.out.println(s);}}

本篇博客会持续更新,用来记录自己的学习

JAVA发送POST请求相关推荐

  1. java发送post请求上传文件和json数据

    java发送post请求上传文件和json数据 因为第三方的上传服务post参数使用了两个@requestpart参数. 但是feign不可以使用两个@requestpart参数.会报错:java.l ...

  2. java发送get请求,并带上参数,HTTP和HTTPS都可以

    //java发送get请求,并带上参数public static String send_Get(String encode_data){CloseableHttpClient httpClient ...

  3. Java发送form-data请求实现文件上传

    如何使用Java发送form-data格式的请求上传multipart文件? 封装了以下工具类: package com.leeyaonan.clinkz.common.util;import jav ...

  4. Java发送Http请求,解析html返回

    今天是2008年7月7日星期一,下午一直在学校做个人开始页面.因为离不开google的翻译,所以想把google的翻译整合到我的开始页面中来,于是乎就遇到了一个问题,怎样使用java程序发送http请 ...

  5. Java 发送 Http请求工具类

    HttpClient.java package util;import java.io.BufferedReader; import java.io.IOException; import java. ...

  6. java post 注册_利用JAVA发送POST请求(垃圾注册就是这么产生的) | 学步园

    大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了, ...

  7. JAVA发送HttpClient请求及接收请求结果过程

    1.写一个HttpRequestUtils工具类,包括post请求和get请求 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...

  8. java发送get请求400解决

    http发送get请求400问题解决小记: 仿佛代码有了保质期,项目在生产环境稳定运转,由于关联系统的升级意外暴露出http发送get请求的400错误.正产运行的请求为什么会突然变成400呢?难道真的 ...

  9. java http 中文乱码_关于java发送http请求时中文乱码的一种解决办法

    在jsp中常见的乱码解决办法无外乎是关于get和post两种方式的,但只有切实地在实践中使用时才会注意或者说注重到其他方式.例如,在http请求头中传送中文参数,出现乱码,如何解决? 实际场景:使用S ...

  10. java发送get请求参数_HttpClient发送带参数的Get请求

    HttpClient 是apache 组织下面的一个用于处理HTTP 请求和响应的开源工具.所用jar包为httpclient-4.3.6.jar.httpcore-4.3.3.jar.httpmim ...

最新文章

  1. 刚进入win7系统就提示检测到一个硬盘问题的解决方法
  2. UIWebView中字体自动放大问题的探究
  3. linux编程下signal()函数
  4. MySQL倒序如何避免filesort_MySQL Using filesort 疑问?
  5. Mybatis代码生成适配Oracle和Mysql数据库_01
  6. 【Java】IntelliJ IDEA 导入JAR包的两种解决方案
  7. 帝国CMS仿写朵朵云棋牌游戏官网源码
  8. Android SDK中tools详解
  9. [Ubuntu] 16.04 卸载旧内核并禁止内核更新
  10. libc.so.6被删后导致系统无法使用的原因及解决方法
  11. python中的变量的学习
  12. web入门--ssti
  13. VOSviewer 操作指南 简明
  14. 清华大学范玉顺互联网与大数据_互联网+时代的互联网思维与大数据思维
  15. 百度竞价推广之关键词选择技巧
  16. 微信网页授权 Vue
  17. 什么是阿尔法和贝塔?
  18. 用CSS实现阴阳八卦图等图形
  19. JS添加iframe标签
  20. Zeppelin的使用

热门文章

  1. 人体血氧饱和度监测方法研究
  2. Java获取系统当前时间
  3. redis阻塞队列 java_Redis阻塞操作实现原理
  4. Unity3D教程:实现房产项目中的材质动态切换
  5. 餐厅预订APP有哪些?餐厅预订APP怎么选择?
  6. 头脑风暴之面试——做个程序员,我容易吗?
  7. kettle实现企业微信发送文件
  8. python 远程连服务器
  9. 怎样设置网页纵向滚动 css,CSS 怎么设置网页下拉条 (滚动条) 样式?
  10. Intellij idea 2021安装黑色主题