`
hvang1988
  • 浏览: 51254 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

使用spring-web类库实现httpget和httppost请求响应

阅读更多
好消息,百度网盘专业搜索网站上线了
打开瞧一瞧:http://bitar.cn



import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.Charset;

import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.client.ClientHttpRequest;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.SimpleClientHttpRequestFactory;

public class Test {

	public static void main(String[] args) throws IOException, URISyntaxException {
		String url = "https://www.baidu.com/img/bd_logo1.png";  
	    //①创建Http Request(内部使用HttpURLConnection)  
	    ClientHttpRequest request =   
	        new SimpleClientHttpRequestFactory().     
	            createRequest(new URI(url), HttpMethod.GET);  
	    //②设置客户端可接受的媒体类型(即需要什么类型的响应体数据)  
	    request.getHeaders().set("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0");  
//	    request.getHeaders().set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");  
//	    request.getHeaders().set("Connection", "keep-alive");  
//	    request.getHeaders().set("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");  
	    //③发送请求并得到响应  
	    ClientHttpResponse response = request.execute();   
	    if (response.getStatusCode()==HttpStatus.OK) {
			System.out.println("ok");
		}
	    InputStream is = response.getBody();
	    //BufferedReader读取字符串
//		BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));
//		String tempLine = br.readLine();
//		StringBuffer tempStr = new StringBuffer();
//		String crlf = System.getProperty("line.separator");
//		while (tempLine != null) {
//			tempStr.append(tempLine);
//			tempStr.append(crlf);
//			tempLine = br.readLine();
//		}
//		br.close();
//		is.close();
//		System.out.println(tempStr);
	    
	    //读取字节,再转为为字符串或者流
	    byte bytes[] = new byte[(int)response.getBody().available()];  
	    is.read(bytes);  
	    FileOutputStream fos=new FileOutputStream(new File("f:/a.png"));
	    fos.write(bytes,0,bytes.length);
	    fos.flush();
	    fos.close();
	    String xmlData = new String(bytes, Charset.forName("utf-8"));  
	    System.out.println(xmlData);  
		
	}

	

}


分享到:
评论

相关推荐

    Spring-MVC环境搭建用到的jar包

    - **RESTful支持**:使用HTTP动词(GET、POST等)和URI模板实现RESTful服务。 - **国际化和本地化**:根据用户请求的locale提供不同语言的响应。 6. **测试**: - 使用JUnit和Mockito进行单元测试,模拟HTTP请求...

    Spring MVC 4.3.4

    10. **消息转换器**:Spring MVC包含一系列的消息转换器,如StringHttpMessageConverter、Jackson的MappingJackson2HttpMessageConverter,它们负责将HTTP请求和响应转换为JSON、XML等格式。 在实际开发中,Spring ...

    org.springframework.web.jar

    这个JAR文件包含了Spring Web模块的类库,使得开发者能够方便地实现MVC(Model-View-Controller)架构,提供强大的请求处理、会话管理以及与其他Spring模块的集成。 首先,`org.springframework.web`包下的类主要...

    SpringMVC jar包

    - spring-webmvc.jar:SpringMVC的主要实现库。 - spring-context.jar:提供上下文和依赖注入功能。 - spring-beans.jar:负责Bean的生命周期管理。 - spring-core.jar:Spring的核心工具类库。 - spring-expression...

    Customer-Relationship-Management-Real-time-CURD-Application-using-Spring-Rest-Json-HQL-WebServices:CRUD(创建,读取,更新和删除)应用程序是用于创建任何项目的最重要的应用程序。 在Spring的Rest中,我们已经使用Jackson,Postman和Restful Web服务开发了它

    这是一个基于Spring Rest、JSON、HQL以及Web Services的实时客户关系管理(CRM)系统的实现,主要涉及以下几个核心知识点: 1. **Spring Rest**: Spring Rest 是Spring MVC的一个扩展,专门用于构建RESTful API。它...

    shopping-cart-spring-mvc-mongodb:使用Spring MVC和MongoDB的购物车Java应用程序

    标题中的"shopping-cart-spring-mvc-mongodb"项目是一个基于Java的购物车应用程序,它利用了Spring MVC框架和MongoDB数据库。这个项目的核心是构建一个功能完善的电子商务平台,其中购物车功能是关键部分。让我们...

    Spring整合CXF,发布RSETful 风格WebService

    在CXF中,我们可以使用`@Path`、`@GET`、`@POST`等注解来标记服务接口和实现。 下面是一个简单的REST服务接口示例: ```java import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; ...

    SpringMVC学习.pdf

    其中,必须的依赖包括spring-webmvc,它包含了实现SpringMVC所有功能所需的类库。其他的依赖还包括spring-context和spring-web,它们提供了Spring框架的核心功能和对Web应用程序的支持。 在开发SpringMVC应用时,...

    java web复习题3.pdf

    - **HTTP请求处理**:通过实现`doGet()`、`doPost()`方法来响应GET、POST等请求。 - **会话管理**:使用Cookie和Session来跟踪用户的会话状态。 #### 5. JSP页面 - **JSP指令**:`<%@ %>`, 如`*" %>`用于导入类库。...

    spring 4.0.zip

    4. **RESTful支持**:Spring MVC 4.0增强了对RESTful风格的Web服务的支持,包括HTTP方法(GET、POST、PUT、DELETE等)、状态码和媒体类型。 5. **数据绑定与验证**:`@RequestParam`、`@PathVariable`等注解用于将...

    java+springboot在线动漫信息平台.rar

    例如,`spring-boot-starter-web`用于构建Web应用,`spring-boot-starter-data-jpa`则提供了与数据库交互的能力,这里通常会结合MySQL等关系型数据库存储动漫信息。此外,`spring-boot-starter-thymeleaf`用于渲染...

    Java中的Ajax编程常用类库打包

    Servlet和JSP配合使用,可以构建出响应Ajax请求的服务器端逻辑。 7. JSON:在现代的Ajax应用中,XML已逐渐被JSON(JavaScript Object Notation)取代,因为JSON更轻量级且易于解析。Java有多种库如Jackson、Gson等...

    汽车租赁--简单实现(基于JAVA,数据库使用的是Oracle)

    8. **RESTful API设计**:为了实现前后端分离,系统可能会采用RESTful风格的API设计,通过HTTP方法(GET、POST、PUT、DELETE等)来操作资源,使得前端和后端之间的通信更加简洁和标准化。 9. **事务管理**:在汽车...

    springmvcTest2.rar

    在Spring MVC中,可以使用`@RestController`注解来创建RESTful服务,这个注解是`@Controller`和`@ResponseBody`的组合,表示控制器方法的返回值将直接写入HTTP响应体。 接口开发在Spring MVC中通常涉及到以下步骤:...

    fastser-web:基于spring mvc的restful项目,支持多版本

    描述简单明了,进一步确认了"fastser-web"是一个使用Spring MVC来实现RESTful API的项目。"支持多版本"在这里再次被强调,意味着开发者可以为不同的用户或应用提供兼容旧版本的服务,同时也能更新API以满足新需求。 ...

    服务请求数据包,导包.zip

    开发者可以创建Servlet类,重写`doGet`和`doPost`方法来处理GET和POST请求。 2. **数据包解析**: 数据包通常指的是在网络通信中传输的数据单元,服务请求中包含的数据可能以JSON、XML或自定义格式传递。Java提供...

    java web api

    Java Web API可以通过使用Servlet和相关框架(如Spring Boot)轻松创建RESTful服务,提供HTTP方法(GET、POST、PUT、DELETE等)来操作资源。 9. **Web框架**:诸如Struts、JSF、Spring MVC、Play Framework等,这些...

    西北工业大学软件学院网络与分布计算lab4_webServer.zip

    1. **HTTP协议**:理解HTTP请求和响应的工作原理,包括不同请求方法(GET、POST等)的使用场景。 2. **Java Web编程**:掌握Servlet、JSP或现代Java Web框架如Spring Boot的使用。 3. **并发处理**:由于Web服务器...

    servlet资料以及所有jar包

    - `doGet()`和`doPost()`方法是处理HTTP GET和POST请求的主要方法,覆盖这些方法可以实现具体业务逻辑。 - `HttpServletRequest`对象包含客户端发送的请求信息,如参数、头信息等。 - `HttpServletResponse`对象...

    java--curl工具,用于生成curl链接,直接在服务器上使用

    `Curl`注解通常定义在Feign接口的方法上,当这个方法被调用时,`CurlAspect`切面会捕获请求的相关信息,如HTTP方法(GET, POST等)、URL、请求头和请求体,然后构建并输出对应的curl命令。这样,开发者可以直接在...

Global site tag (gtag.js) - Google Analytics