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

装饰设计师工作内容杭州百度人工优化

装饰设计师工作内容,杭州百度人工优化,wordpress怎么加地图,苏州做学校网站的前言 每种编程语言里最常用的库恐怕是Http请求库了,如python里的requests包,nodejs里的request模块。 在Java世界里,也是百花齐放,山头林立。常用的有: HttpURLConnection: 最早的JDK提供的类Java 11提供的HttpClien…

前言

每种编程语言里最常用的库恐怕是Http请求库了,如python里的requests包,nodejs里的request模块。
在Java世界里,也是百花齐放,山头林立。常用的有:

  • HttpURLConnection: 最早的JDK提供的类
  • Java 11提供的HttpClient
  • Apache HttpComponents项目中的HTTPClient
  • Square提供的OkHttpClient
  • Spring 自带的WebClient

Apache HttpComponents

该组件提供了两个核心类:

  • HttpCore: 更底层的传输处理类
  • HttpClient:基于HttpCore实现的HTTP-compliant 处理类

JDK 11+ HTTP Client使用举例

Post同步的json数据:

public void invokePost() {try {String requestBody = prepareRequest();HttpClient client = HttpClient.newHttpClient();HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://reqbin.com/echo/post/json")).POST(HttpRequest.BodyPublishers.ofString(requestBody)).header("Accept", "application/json").build();HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());} catch (IOException | InterruptedException e) {e.printStackTrace();}}private String prepareRequest() throws JsonProcessingException {var values = new HashMap<String, String>() {{put("Id", "12345");put("Customer", "Roger Moose");put("Quantity", "3");put("Price","167.35");}};var objectMapper = new ObjectMapper();String requestBody = objectMapper.writeValueAsString(values);return requestBody;}

发送异步请求:

public void invoke() throws URISyntaxException {HttpClient client = HttpClient.newBuilder().version(Version.HTTP_2).followRedirects(Redirect.NORMAL).build();HttpRequest request = HttpRequest.newBuilder().uri(new URI(URLConstants.URL)).GET().header(URLConstants.API_KEY_NAME, URLConstants.API_KEY_VALUE).timeout(Duration.ofSeconds(10)).build();client.sendAsync(request, BodyHandlers.ofString()).thenApply(HttpResponse::body).thenAccept(System.out::println).join();}

HTTP Client包装库

cVurl

cVurl is an open-source wrapper for the Java HTTP client. It is written in Java 11 and can be used with any JDK 11.0.2 or newer.

public void cVurl() {CVurl cVurl = new CVurl();//POSTResult result = cVurl.post("https://api.imgflip.com/caption_image").queryParams(Map.of("template_id", "112126428","username", "test-user","password", "123test321","text0", "text0","text1", "text1")).asObject(Result.class);System.out.println("CVurl POST: " + result);
}

它支持Compression、Multipart、Form data这些Java 11 HttpClient不具备的特性。

Avaje-HTTP

  • Fluid API for building URLs and payload
  • JSON marshaling using Avaje Jsonb/Jackson/Gson
  • Light Feign-style interfaces via annotation processing.
  • Request/Response Interception
  • Authorization via Basic Auth or OAuth Bearer Tokens
  • Async and sync API

个人建议

在实际项目中,设计符合自身项目需求的HTTP client接口,并基于JDK 11 HTTP client实现,独立于任何上述库。

参考链接

  • https://github.com/corese4rch/cvurl
  • https://github.com/avaje/avaje-http/tree/master
  • https://reflectoring.io/comparison-of-java-http-clients/
http://www.khdw.cn/news/1239.html

相关文章:

  • 建设网站站点过程中如何建造自己的网站
  • wordpress 回收站在哪里中国站长站官网
  • 番禺公司网站建设江北seo
  • 名聚优品一家只做正品的网站网络推广文案
  • 网站建设结算方式华为手机软文范文300
  • 网站建设微信版网站seo优化推广
  • 建立企业网站公司网络营销常用的方法有哪些
  • 企业门户网站设计报告最新消息
  • 政府网站建设讲话网站设计师
  • 做曖免费网站百度快速排名优化服务
  • 网站开发编码选择一般是知乎seo
  • 什么网站合适做流量外包网络推广公司推广网站
  • 网站建设公司转型百度云搜索引擎入口网盘搜索神器
  • 精品在线开发网站建设代运营一家店铺多少钱
  • 衡水做wap网站的地方贵阳搜索引擎排名推广
  • 漳州做网站含博大网seo技术交流
  • 建设营销型网站公司长春关键词优化报价
  • 做蛋糕视频教学网站网站制作的要点和步骤详解
  • 平台推广策划站长工具seo客户端
  • 公司网站开发公司百度商家入驻怎么做
  • 宁波做网站哪家好网站案例分析
  • 搭建网站需要的软件关键词数据
  • 电脑编程培训优化神马排名软件
  • 企业网站建设美丽网络营销公司名字
  • 做网站需要多少钱呢贵阳网站优化公司
  • 足球比赛直播阿根廷seo查询
  • 网站建设APP的软件最新实时新闻
  • 郑州有官方网站的公司seo就业前景
  • 如何做电商网站测试长沙网站推广排名
  • 个人导航网站如何赚钱最近一周新闻大事