精华内容
下载资源
问答
  • 在http请求中,有header和...读取body使用request.getreader(),但getreader获取的是bufferedreader,需要把它转换成字符串,下面是转换的方法。public class testcontroller {@requestmapping("/a")protected void...

    在http请求中,有header和body之分,读取header使用request.getheader("...");

    读取body使用request.getreader(),但getreader获取的是bufferedreader,需要把它转换成字符串,下面是转换的方法。

    public class testcontroller {

    @requestmapping("/a")

    protected void dopost(httpservletrequest request,

    httpservletresponse response, bufferedreader br)

    throws servletexception, ioexception {

    //header部分

    system.out.print(request.getheadernames());

    enumeration> enum1 = request.getheadernames();

    while (enum1.hasmoreelements()) {

    string key = (string) enum1.nextelement();

    string value = request.getheader(key);

    system.out.println(key + "\t" + value);

    }

    //body部分

    string inputline;

    string str = "";

    try {

    while ((inputline = br.readline()) != null) {

    str += inputline;

    }

    br.close();

    } catch (ioexception e) {

    system.out.println("ioexception: " + e);

    }

    system.out.println("str:" + str);

    }

    以上就是小编为大家带来的java获取http请求的header和body的简单方法全部内容了,希望大家多多支持萬仟网~

    如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

    展开全文
  • 原文链接:http://blog.csdn.net/feinifi/article/details/72990249--------------------------------------------------------在java web应用中,我们如何获取post请求body中的内容?以及需要注意的问题。通常利用...

    原文链接:http://blog.csdn.net/feinifi/article/details/72990249

    --------------------------------------------------------

    在java web应用中,我们如何获取post请求body中的内容?以及需要注意的问题。

    通常利用request获取参数可以直接通过req.getParameter(name)的方式获取url上面或者ajax data提交上来的参数。但是body是没有名字的,无法通过参数名字这种方式获取。这时候需要用到io流的方式来获取body中的内容。

    这里先贴出一段代码:

    package com.lenovo.servlet;

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import org.apache.commons.lang.StringUtils;

    import org.apache.log4j.Logger;

    import com.alibaba.dubbo.common.utils.IOUtils;

    import com.lenovo.service.BusinessService;

    import com.lenovo.utils.WebContext;

    public class BusinessServlet extends HttpServlet{

    public static final Logger log = Logger.getLogger(BusinessServlet.class);

    /**

    *

    */

    private static final long serialVersionUID = 1L;

    private static BusinessService service;

    static{

    service = (BusinessService) WebContext.getBean("businessService");

    }

    @Override

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)

    throws ServletException, IOException {

    doPost(req, resp);

    }

    @Override

    protected void doPost(HttpServletRequest req, HttpServletResponse res)

    throws ServletException, IOException {

    BufferedReader reader = new BufferedReader(new InputStreamReader(req.getInputStream()));

    String body = IOUtils.read(reader);

    String name = req.getParameter("name");

    if(StringUtils.isNotBlank(body)){

    log.info("business receive somthing with body :"+body);

    }

    res.setCharacterEncoding("UTF-8");

    res.setContentType("application/json");

    res.setStatus(HttpServletResponse.SC_OK);

    res.getWriter().println(service.getName(name));

    }

    }

    在这段代码doPost方法中,用到了IO流来获取post提交的body,这样我们就获取了客户端提交的参数。

    需要注意的是:获取body参数,需要在request.getParameter()方法之前调用(如果有需要取QueryString参数的话),因为一旦调用了getParameter()方法之后,再通过IO流的方式获取body参数就失效了(亲测返回"")。

    另外,这里使用了dubbo-2.5.3.jar的IOUtils.read(reader)方法来读取post body的内容。

    展开全文
  • HttpServletRequestHttpServletRequest获取body内容(字符串/二进制)详解获取HTTP字符串bodyString getBodytxt(HttpServletRequest request) {BufferedReader br = request.getReader();String...

    首页 > Java Web > SpringMvc应用 > HttpServletRequest

    HttpServletRequest获取body内容(字符串/二进制)详解

    获取HTTP字符串body

    String getBodytxt(HttpServletRequest request) {

    BufferedReader br = request.getReader();

    String str, wholeStr = "";

    while((str = br.readLine()) != null){

    wholeStr += str;

    }

    return wholeStr;

    }

    获取HTTP二进制body

    private String getBodyData(HttpServletRequest request) {

    StringBuffer data = new StringBuffer();

    String line = null;

    BufferedReader reader = null;

    try {

    reader = request.getReader();

    while (null != (line = reader.readLine()))

    data.append(line);

    } catch (IOException e) {

    } finally {

    }

    return data.toString();

    }

    @RequestBody获取body

    @RequestMapping(value = "/testurl", method = RequestMethod.POST)

    @ResponseBody

    public ServiceResult TestUrl(HttpServletRequest request,

    @RequestBody JSONObject jsonObject){

    String username = jsonObject.get("username").toString();

    String pwd = jsonObject.get("pwd").toString();

    }

    @RequestBody 可以使用JSONObject, Map ,或者ObjectDTO绑定body。

    @RequestParam获取body

    @RequestMapping(value = "/testurl", method = RequestMethod.POST)

    @ResponseBody

    public ServiceResult TestUrl(HttpServletRequest request,@RequestParam("username")String username,

    @RequestParam("pwd")String pwd) {

    String txt = username + pwd;

    }

    版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

    展开全文
  • String rc = response.body(); System.out.println(rc); if(rc.contains("1")){ System.out.println("驗證碼輸入正確>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>."); return true; }else{ System.out.println...

    import jodd.http.HttpResponse; //导入方法依赖的package包/类

    public static boolean verify(String num,int count)throws Exception{

    String url = "http://www.dataoke.com/verify";

    HttpRequest httpRequest =HttpRequest.get(url).timeout(10000);

    httpRequest.header("Host", "www.dataoke.com");

    httpRequest.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0");

    httpRequest.header("Referer", "http://www.dataoke.com/login?user=reg");

    httpRequest.header("Connection", "keep-alive");

    httpRequest.header("X-Requested-With", "XMLHttpRequest");

    HttpResponse response = browser.sendRequest(httpRequest);

    //HttpResponse response = httpRequest.send();

    byte[] bs = response.bodyBytes();

    TestImage.buff2Image(bs,"d:\\test.jpg");

    String vc = "";

    vc = new RuoKuaiUnit().getImgStr(bs);

    String url2 = "http://www.dataoke.com/message?username="+num+"&vc="+vc;

    httpRequest = HttpRequest.get(url2).timeout(10000);

    httpRequest.header("Host", "www.dataoke.com");

    httpRequest.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0");

    httpRequest.header("Referer", "http://www.dataoke.com/login?user=reg");

    httpRequest.header("Connection", "keep-alive");

    httpRequest.header("X-Requested-With", "XMLHttpRequest");

    response = browser.sendRequest(httpRequest);

    String rc = response.body();

    System.out.println(rc);

    if(rc.contains("1")){

    System.out.println("驗證碼輸入正確>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.");

    return true;

    }else{

    System.out.println("驗證碼輸入錯誤>>>>>>>>>>>>>>>>>>>>>>>>");

    Thread.sleep(2000);

    count = count-1;

    if(count==0){

    return false;

    }

    return verify(num,count);

    }

    }

    展开全文
  • java-如何获取HttpClient返回状态码和响应正文?我正在尝试让Apache HttpClient触发HTTP请求,然后显示HTTP响应代码(200、404、500等)以及HTTP响应正文(文本字符串)。 需要注意的是,我正在使用v4.2.2,因为那里的...
  • 这里的获取的是html文件中body中的所有标签以及内容package com.lmt.service.file;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import ...
  • 这篇文章主要介绍了如何基于java或js获取URL返回状态码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下描述:使用java或者js访问某个网站,返回状态码1.java...
  • java web应用中,我们如何获取post请求body中的内容?以及需要注意的问题。通常利用request获取参数可以直接通过req.getParameter(name)的方式获取url上面或者ajax data提交上来的参数。但是body是没有名字的,...
  • packagecom.lmt.service....importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.InputStreamReader;importjava.io.Reader;importorg.springframework.stereotype.Comp...
  • import java.io.bytearrayoutputstream...//从输入流中获取数据并以字节数组返回public class streamtool {/*** 从输入流获取数据* @param inputstream* @return* @throws exception*/public static byte[] readinpu...
  • --simple_boundary 如何从响应中获取图像(二进制). InputStream is = response.getEntity().getContent(); (InputStream)也包含边界和内容信息. --simple_boundary Content-Type: image/jpeg Content-Transfer-...
  • 我只想更改@ResponseBody返回的DTO中的日期格式我的问题不是this question,因为我的输出是一个JSON列表,我将其打印在Postman上,而不是使用具有JS和其他UI功能的视图....我在使用@ResponseBody返回列表时获得日期的...
  • 试了一下结果是一样的,而且看了一下请求,并不是js动态生成的,就是一个请求返回的Request URL: ...
  • import java.io.ByteArrayInputStream; import java.io.StringReader; import java.util.Iterator; public class Main { private static int tickets=15; String str = new String(" "); public static void ...
  • 使用ResponseHandler.一行代码。请参阅here和here使用它的示例Android项目。public void postData() {// Create a new HttpClient and Post HeaderHttpClient httpclient = new DefaultHttpClient();...
  • java返回json格式数据

    2021-03-09 18:21:59
    java返回json格式数据返回String类型的数据页面代码!-- jQuery导入 --script src="js/jquery-2.1.0.min.js"/scriptscript type="text/javascript"$(function() {//失去焦点事件$("#username").blur(function() {//...
  • import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.HttpURLConnection; import ...
  • CollectionUtil.isEmpty(params)){ try { request.body(mapper.writeValueAsString(params)); } catch (JsonProcessingException e) { log.error("write paramter [" + params.toString() + "] to josn fail",e....
  • 我正在使用HttpURLConnection向使用JAVA Spark创建的本地部署的本地服务发出POST请求.当我使用HttpURLConnection进行POST调用时,我希望在请求体中发送一些数据,但每次JAVA Spark中的请求体都是空值.以下是我正在使用...
  • **关于在实际开发中最常用也是用的最多的Java实现文档、图片上传。***一、准备阶段*文档、图片上传有几种方式,包括传统的ajax上传,云上传,这里给大家实现通过代码将图片上传至七牛云服务器并返回图片地址。1.需...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 175,047
精华内容 70,018
关键字:

java获取body返回

java 订阅