java中的request类怎么使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的request类怎么使用相关的知识,希望对你有一定的参考价值。

为什么我在使用这个方法是总是提示不可识别,而且提示修复只能修复成Request,可是网上却有好多这个方法的使用,难道只能在asp或者jsp中使用这个类方法吗?(注意是request,不是Request)

request 是 jsp页面内置对象,如果你想使用,只能在jsp页面直接不声明初始化便可以用。如果要在java类里面用,需要用 HttpRequest 创建一个 对象才可以用。追问

HttpRequest好像也只有在asp或者jsp中存在类吧,我再java的api中没有找到

参考技术A 是的,这个是在jsp中使用的,如果用JavaBean时应该使用HttpServletRequest 或HttpRequest我忘了使用哪个,你可以试试。 参考技术B 你说的那个是HttpServletRequest

JAVA http请求工具类http-request

前言

在我们日常工作中,我们需要经常和第三方接口进行交互通信,很多时候我们都是使用http协议进行交互,java原生自带对http的支持(java.net.*),但是使用起来不太方便,除此之外,用的最多的就是apache httpclient工具包。但是个人使用这么久而言,感觉不管是原生的抑或是httpclient,使用起来都不太顺手,也略显复杂

在此推荐一个简单易用的类库http-request

github地址:https://github.com/kevinsawicki/http-request

maven引入

<dependency>
  <groupId>com.github.kevinsawicki</groupId>
  <artifactId>http-request</artifactId>
  <version>5.6</version>
</dependency>

例子

发送一个Get请求获取响应报文

String response = HttpRequest.get("http://www.baidu.com").body();
System.out.println("Response was: "+response);

发送一个带查询参数的Get请求获取响应报文

写法1:

HttpRequest request = HttpRequest.get("http://www.baidu.com",true,'q',"baseball gloves","size",100);
System.out.println(request.toString());// GET http://www.baidu.com?q=baseball%20gloves&size=100

写法2:

Map data = new HashMap();
data.put("q", "baseball gloves");
data.put("size", "100");
String resp =HttpRequest.get("http://www.baidu.com")form(data).body();
System.out.println("---------------response parameter:" + resp);

同理,发送Post请求只需把get方法换成Post即可。

发送请求上传附件

HttpRequest request=HttpRequest.post("http://google.com");
request.part("status[body]","Making a multipart request");
request.part("status[image]",newFile("/home/kevin/Pictures/ide.png"));
if(request.ok())
    System.out.println("Status was updated");

常用http请求配置

HttpRequest request = HttpRequest.get("https://google.com");
//信任所有证书
request.trustAllCerts();
//信任所有地址
request.trustAllHosts();
//设置请求超时时间
request.connectTimeout(60000);
//设置读取超时时间
request.readTimeout(60000);

以上设置支持Builder模式

String resp = HttpRequest.post("http://www.baidu.com").trustAllCerts().trustAllHosts()
.form(data)
.connectTimeout(60000)
.readTimeout(60000)
.body();
配置http代理
HttpRequest request = HttpRequest.get("https://google.com");
//Configure proxy
request.useProxy("localhost", 8080);
//Optional proxy basic authentication
request.proxyBasic("username", "p4ssw0rd");

总结

此工具类方便易用,没有任何依赖库,源代码也只有一个类HttpRequest,简洁明了,而且支持Builder模式链式调用。有兴趣的同学可以尝试使用,用过都说好,更多用法请自行查看官网例子。

以上是关于java中的request类怎么使用的主要内容,如果未能解决你的问题,请参考以下文章

js 怎么获取request中的参数

python request.body怎么用

windows 下怎么安装python requests 模块

Java:Servlet能不能将request传入其他方法,然后在其他方法中跳转页面呢?怎么把request传过去呢?

java怎么获取request

怎么接收对方发送的request