当前位置: 首页 > news >正文

多网合一网站做网站需要多少钱平邑

多网合一网站,做网站需要多少钱平邑,wordpress手机端如何,装饰公司看的设计网站Java 实现发送 HTTP 请求#xff0c;系列文章#xff1a; 《Java使用原生HttpURLConnection实现发送HTTP请求》 《Java使用HttpClient5实现发送HTTP请求》 《SpringBoot使用RestTemplate实现发送HTTP请求》 1、HttpURLConnection 类的介绍 HttpURLConnection 是 Java 提供的…  Java 实现发送 HTTP 请求系列文章 《Java使用原生HttpURLConnection实现发送HTTP请求》 《Java使用HttpClient5实现发送HTTP请求》 《SpringBoot使用RestTemplate实现发送HTTP请求》 1、HttpURLConnection 类的介绍 HttpURLConnection 是 Java 提供的原生标准的用于发送 HTTP 请求和接收 HTTP 响应的一个类它位于 java.net 包下并继承了 URLConnection 类。 HttpURLconnection 是基于 HTTP 协议的支持 getpostputdelete 等各种请求方式最常用的就是 get 和 post。 URLConnection 提供了一组方法来建立与 URL 之间的连接、发送请求和接收响应。 以下是 HttpURLConnection 类常用的方法 方法说明openConnection()用于打开与 URL 的连接返回一个 URLConnection 对象。setRequestMethod(String method)设置请求方法如 GET、POST 等。setRequestProperty(String key, String value)设置请求属性如请求头参数。getRequestMethod()获取当前请求的方法。getRequestProperty(String key)获取指定请求属性的值。connect()建立与URL的连接。getInputStream()获取输入流用于接收响应数据。getOutputStream()获取输出流用于发送请求数据。getResponseCode()获取响应的状态码。getHeaderField(String name)获取指定响应头字段的值。setDoInput(boolean doinput)设置是否从 URLConnection 读入默认为true。setDoOutput(boolean dooutput)设置是否向 URLConnection 输出默认为false。setInstanceFollowRedirects(boolean followRedirects)设置是否自动执行重定向默认为true。disconnect()断开与URL的连接。 2、创建 HttpURLConnection 工具类 通过将常用的方法封装到工具类中可以避免重复编写相同的代码从而提高代码的复用性‌。 基于 HttpURLConnection 的 HTTP 请求工具类 package com.pjb.consumer.util;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map;/*** 基于 HttpURLConnection 的 HTTP 请求工具类* author pan_junbiao**/ public class HttpURLConnectionUtil {// 超时时间private final static int timeOut 60000; //60秒/*** 发送 GET 请求并获取响应数据** param url 请求地址* param params 请求参数* return 响应数据字符串*/public static String doGet(String url, MapString, String params){HttpURLConnection connection null;BufferedReader reader null;try{// 1、拼接 URLStringBuffer stringBuffer new StringBuffer(url);if (params ! null !params.isEmpty()){stringBuffer.append(?);for (Map.EntryString, String entry : params.entrySet()){stringBuffer.append(entry.getKey()).append().append(entry.getValue()).append();}stringBuffer.deleteCharAt(stringBuffer.length() - 1);}URL targetUrl new URL(stringBuffer.toString());// 2、建立链接connection (HttpURLConnection) targetUrl.openConnection();// 设置请求方法为 GETconnection.setRequestMethod(GET);// 设置连接超时connection.setConnectTimeout(timeOut);// 设置读取响应超时connection.setReadTimeout(timeOut);// 3、获取响应结果StringBuilder response new StringBuilder();reader new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line reader.readLine()) ! null){response.append(line);}return response.toString();} catch (IOException e){e.printStackTrace();} finally{//释放资源releaseResource(connection, null, reader);}return null;}/*** 发送 POST 请求并获取响应数据** param url 请求地址* param params 请求参数* return 响应数据字符串*/public static String doPost(String url, MapString, String params){HttpURLConnection connection null;OutputStream outputStream null;BufferedReader reader null;try{// 1、创建 URL 对象URL targetUrl new URL(url);// 2、建立链接connection (HttpURLConnection) targetUrl.openConnection();// 设置请求方法为 POSTconnection.setRequestMethod(POST);// 设置连接超时connection.setConnectTimeout(timeOut);// 设置读取响应超时connection.setReadTimeout(timeOut);// 设置请求头部为默认URL编码表单数据格式connection.setRequestProperty(Content-Type, application/x-www-form-urlencoded);// 允许写入输出流connection.setDoOutput(true);// 禁用缓存connection.setUseCaches(false);// 3、写入请求体outputStream connection.getOutputStream();StringBuffer payload new StringBuffer();if (params ! null !params.isEmpty()){for (Map.EntryString, String entry : params.entrySet()){payload.append(entry.getKey()).append().append(entry.getValue()).append();}payload.deleteCharAt(payload.length() - 1);}outputStream.write(payload.toString().getBytes());outputStream.flush();outputStream.close();// 4、获取响应结果StringBuilder response new StringBuilder();reader new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;// 读取响应数据while ((line reader.readLine()) ! null){response.append(line);}return response.toString();} catch (IOException e){e.printStackTrace();} finally{//释放资源releaseResource(connection, outputStream, reader);}return null;}/*** 发送 JSON 格式的 POST 请求并获取响应数据** param url 请求地址* param jsonParam JSON格式的请求参数* return 响应数据字符串*/public static String doJsonPost(String url, String jsonParam){HttpURLConnection connection null;OutputStream outputStream null;BufferedReader reader null;try{// 1、创建 URL 对象URL targetUrl new URL(url);// 2、建立链接connection (HttpURLConnection) targetUrl.openConnection();// 设置请求方法为 POSTconnection.setRequestMethod(POST);// 设置请求头部为 JSON 格式connection.setRequestProperty(Content-Type, application/json);// 设置连接超时connection.setConnectTimeout(timeOut);// 设置读取响应超时connection.setReadTimeout(timeOut);// 允许向服务器发送数据connection.setDoOutput(true);// 3、向服务器发送 JSON 数据outputStream connection.getOutputStream();outputStream.write(jsonParam.getBytes());outputStream.flush();// 4、获取响应结果StringBuffer response new StringBuffer();int responseCode connection.getResponseCode();reader new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line reader.readLine()) ! null){response.append(line);}return response.toString();} catch (Exception e){e.printStackTrace();} finally{//释放资源releaseResource(connection, outputStream, reader);}return null;}/*** 释放资源*/private static void releaseResource(HttpURLConnection connection, OutputStream outputStream, BufferedReader reader){if (connection ! null){try{connection.disconnect();} catch (Exception e){System.out.println(连接关闭失败);}}if (outputStream ! null){try{outputStream.close();} catch (IOException e){System.out.println(输出流关闭失败);}}if (reader ! null){try{reader.close();} catch (IOException e){System.out.println(输入流关闭失败);}}} } 3、综合实例 【实例】实现用户信息的查询、新增、修改、删除接口并使用 HttpURLConnection 实现接口的请求。 1在 controller 层创建用户信息控制器类实现查询、新增、修改、删除接口。 package com.pjb.business.controller;import com.pjb.business.entity.UserInfo; import com.pjb.business.exception.ApiResponseException; import com.pjb.business.model.ApiModel.ApiResponseCode; import com.pjb.business.model.ApiModel.ApiResponseResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;/*** 用户信息控制器类* author pan_junbiao**/ RestController RequestMapping(/user) Api(description 用户信息控制器) public class UserController {/*** 查询用户信息*/ApiOperation(value 查询用户信息)RequestMapping(value /getUserInfo, method RequestMethod.GET)public ApiResponseResultUserInfo getUserInfo(Long userId){if (userId 0){//使用全局异常处理throw new ApiResponseException(ApiResponseCode.PARAMETER_ERROR);}UserInfo userInfo new UserInfo();userInfo.setUserId(userId);userInfo.setUserName(pan_junbiao的博客);userInfo.setBlogName(您好欢迎访问 pan_junbiao的博客);userInfo.setBlogUrl(https://blog.csdn.net/pan_junbiao);//使用统一返回值return new ApiResponseResult(ApiResponseCode.SUCCESS, userInfo);}/*** 新增用户信息*/ApiOperation(value 新增用户信息)RequestMapping(value /addUserInfo, method RequestMethod.POST)public ApiResponseResultBoolean addUserInfo(RequestBody UserInfo userInfo){if (userInfo null || userInfo.getUserName() null || userInfo.getUserName().length() 0){//使用全局异常处理throw new ApiResponseException(ApiResponseCode.PARAMETER_ERROR);}//使用统一返回值return new ApiResponseResult(ApiResponseCode.SUCCESS, true);}/*** 修改用户信息*/ApiOperation(value 修改用户信息)RequestMapping(value /updateUserInfo, method RequestMethod.POST)public ApiResponseResultBoolean updateUserInfo(RequestBody UserInfo userInfo){if (userInfo null userInfo.getUserId() 0){//使用全局异常处理throw new ApiResponseException(ApiResponseCode.PARAMETER_ERROR);}//使用统一返回值return new ApiResponseResult(ApiResponseCode.SUCCESS, true);}/*** 删除用户信息*/ApiOperation(value 删除用户信息)RequestMapping(value /deleteUserInfo, method RequestMethod.POST)public ApiResponseResultBoolean deleteUserInfo(Long userId,String userName){if (userId 0){//使用全局异常处理throw new ApiResponseException(ApiResponseCode.PARAMETER_ERROR);}//使用统一返回值return new ApiResponseResult(ApiResponseCode.SUCCESS, true);} } 2使用 HttpURLConnection 发送 Get 请求查询用户信息。 /*** 使用 HttpURLConnection 发送 Get 请求查询用户信息*/ Test public void getUserInfo() {//请求地址String url http://localhost:8085/user/getUserInfo;//请求参数MapString, String params new HashMap();params.put(userId, 1);//发送 HTTP 的 Get 请求核心代码String httpResult HttpURLConnectionUtil.doGet(url, params);//反序列化JSON结果ApiResponseResultUserInfo responseResult JacksonUtil.getJsonToGenericityBean(httpResult, ApiResponseResult.class, UserInfo.class);UserInfo userInfo responseResult.getData();System.out.println(响应JSON结果 httpResult);System.out.println(响应结果编码 responseResult.getCode());System.out.println(响应结果信息 responseResult.getMessage());System.out.println(用户编号 userInfo.getUserId());System.out.println(用户名称 userInfo.getUserName());System.out.println(博客信息 userInfo.getBlogName());System.out.println(博客地址 userInfo.getBlogUrl()); } 执行结果 3使用 HttpURLConnection 发送 JSON 格式的 POST 请求新增用户信息。 /*** 使用 HttpURLConnection 发送 JSON 格式的 POST 请求新增用户信息*/ Test public void addUserInfo() {//请求地址String url http://localhost:8085/user/addUserInfo;//请求参数UserInfo userInfo new UserInfo();userInfo.setUserId(2L);userInfo.setUserName(pan_junbiao的博客);userInfo.setBlogName(您好欢迎访问 pan_junbiao的博客);userInfo.setBlogUrl(https://blog.csdn.net/pan_junbiao);String json JacksonUtil.getBeanToJson(userInfo);//发送 JSON 格式的 POST 请求核心代码String httpResult HttpURLConnectionUtil.doJsonPost(url, json);System.out.println(响应结果 httpResult); } 执行结果 响应结果{code:200000,message:操作成功,data:true} 4使用 HttpURLConnection 发送 POST 请求删除用户信息。 /*** 使用 HttpURLConnection 发送 POST 请求删除用户信息*/ Test public void deleteUserInfo() {//请求地址String url http://localhost:8085/user/deleteUserInfo;//请求参数MapString, String params new HashMap();params.put(userId,3);//发送 HTTP 的 POST 请求核心代码String httpResult HttpURLConnectionUtil.doPost(url, params);System.out.println(响应结果 httpResult); } 执行结果 响应结果{code:200000,message:操作成功,data:true}
http://www.hkea.cn/news/14277986/

相关文章:

  • 中小型企业网站选择什么配置的亚马逊服务器春哥seo博客
  • 意识形态 加强网站建设坂田的做网站公司
  • 免费视频网站制作唐山网站主页制作
  • 公司网站建设维护及使用管理办法网站后台页面设计
  • 微信公众好第三方网站怎么做做电商网站的设计思路有什么
  • 网站开发系统简介物流公司招聘
  • 网站建设大致步骤做渔具网站
  • 新浪云建设自己的网站做寻亲网站的理由
  • 做贷款的网站如何做和别人一样的网站
  • wordpress自己的网页帝国网站seo
  • 网站下载免费软件安装wordpress 小公举
  • 建设部网站官网办事大厅长沙设计网站排名
  • 建设网站的企业公司免费观看
  • 国外化工网站模板注册公司怎么注销
  • 拨号服务器做网站nat123app与网站的关系
  • 图片手机网站建设多合一网站源码
  • 建筑网站建设案例高手做网站
  • linux服务器怎么做网站织梦网站开发视频
  • 网站关键词的作用电子商务网站建设背景
  • 深圳网站营销公司门户网站开发平台
  • 南京公司网站建立手机版网站嵌入代码
  • 手机网站app制作公司万江建设网站
  • 网站制作方案去哪找星月网络公司做的网站
  • 天元建设集团有限公司企业号重庆网站关键字优化
  • 怎样做免费网站建设临淄网站建设
  • 做营销网站视频wordpress 博客标题
  • 做做网站app下载2023客户关系管理的定义
  • 昆明免费网站建设郑州制作平台网站
  • logo素材网站企业邮箱号是什么样的格式
  • 北京企业做网站报价湛江网站建设方案服务