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

青岛做网站哪家优化好wordpress文章导入公众号

青岛做网站哪家优化好,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/14572452/

相关文章:

  • 免费小说网站怎么做哪个公司做视频网站
  • 湖南常德广宇建设网站青岛网站建设谁家好一些
  • 公司需要做网站吗网站流水怎么做
  • 影楼网站设计织梦网站建设交流群
  • 教着做美食的网站wordpress商务套餐
  • 站点建错了网页能打开吗兰州市生态建设管理局网站
  • 如何仿做网站wordpress添加标签
  • 企业设计网站系统房地产市场形势分析
  • 柬埔寨旅游网站建设百度热点榜单
  • 卫浴网站设计大一学生期末网页设计作业
  • 上海徐汇区网站建设公司wordpress自定义字段火车头
  • nodejs同时做网站和后台管理wordpress卸载插件
  • 建设网站龙华百度推广 网站要备案吗
  • 静态网站建设的主要技术怎么用阿里云服务器做网站
  • 新开的公司做网站多少钱招聘运营专员
  • 建一个网站的费用网站建设颜色注意事项
  • 彩虹云商城网站邳州建网站
  • 模板网站和定制网站的区别广元做开锁网站
  • 网站恶意点击百度集团网站建设方案
  • 创新创业营销策略网站建设等跟有流量的网站做友情链接
  • 专门做cos的网站wordpress防止cc
  • 定远县建设局网站网站建设与发布的预算
  • 做通信毕业设计的网站好123上网主页免费
  • 网站建设达到什么水平wordpress 多媒体
  • oss静态网站托管重庆建设工程造价信息网站
  • 建站网页模板做家教的网站
  • 代加工厂都不做网站58做网站吗
  • 企业网站建设情况中国招生代理网
  • 网站建设使用的什么软件有哪些百度搜索这个网站为什么这么差
  • 泸溪县建设局网站回龙观装修公司哪家好