JAVA发送POST请求
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请求相关推荐
- java发送post请求上传文件和json数据
java发送post请求上传文件和json数据 因为第三方的上传服务post参数使用了两个@requestpart参数. 但是feign不可以使用两个@requestpart参数.会报错:java.l ...
- java发送get请求,并带上参数,HTTP和HTTPS都可以
//java发送get请求,并带上参数public static String send_Get(String encode_data){CloseableHttpClient httpClient ...
- Java发送form-data请求实现文件上传
如何使用Java发送form-data格式的请求上传multipart文件? 封装了以下工具类: package com.leeyaonan.clinkz.common.util;import jav ...
- Java发送Http请求,解析html返回
今天是2008年7月7日星期一,下午一直在学校做个人开始页面.因为离不开google的翻译,所以想把google的翻译整合到我的开始页面中来,于是乎就遇到了一个问题,怎样使用java程序发送http请 ...
- Java 发送 Http请求工具类
HttpClient.java package util;import java.io.BufferedReader; import java.io.IOException; import java. ...
- java post 注册_利用JAVA发送POST请求(垃圾注册就是这么产生的) | 学步园
大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了, ...
- 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 ...
- java发送get请求400解决
http发送get请求400问题解决小记: 仿佛代码有了保质期,项目在生产环境稳定运转,由于关联系统的升级意外暴露出http发送get请求的400错误.正产运行的请求为什么会突然变成400呢?难道真的 ...
- java http 中文乱码_关于java发送http请求时中文乱码的一种解决办法
在jsp中常见的乱码解决办法无外乎是关于get和post两种方式的,但只有切实地在实践中使用时才会注意或者说注重到其他方式.例如,在http请求头中传送中文参数,出现乱码,如何解决? 实际场景:使用S ...
- java发送get请求参数_HttpClient发送带参数的Get请求
HttpClient 是apache 组织下面的一个用于处理HTTP 请求和响应的开源工具.所用jar包为httpclient-4.3.6.jar.httpcore-4.3.3.jar.httpmim ...
最新文章
- 刚进入win7系统就提示检测到一个硬盘问题的解决方法
- UIWebView中字体自动放大问题的探究
- linux编程下signal()函数
- MySQL倒序如何避免filesort_MySQL Using filesort 疑问?
- Mybatis代码生成适配Oracle和Mysql数据库_01
- 【Java】IntelliJ IDEA 导入JAR包的两种解决方案
- 帝国CMS仿写朵朵云棋牌游戏官网源码
- Android SDK中tools详解
- [Ubuntu] 16.04 卸载旧内核并禁止内核更新
- libc.so.6被删后导致系统无法使用的原因及解决方法
- python中的变量的学习
- web入门--ssti
- VOSviewer 操作指南 简明
- 清华大学范玉顺互联网与大数据_互联网+时代的互联网思维与大数据思维
- 百度竞价推广之关键词选择技巧
- 微信网页授权 Vue
- 什么是阿尔法和贝塔?
- 用CSS实现阴阳八卦图等图形
- JS添加iframe标签
- Zeppelin的使用