javafx-请求篇

news/2024/12/25 20:30:34/文章来源:https://www.cnblogs.com/yingzui/p/18631354

OkHttpClient

基本使用步骤如下

  • 构建客户端对象OkHttpClient
  • 构建请求Request
  • 生成Call对象
  • Call发起请求(同步/异步)
import java.io.IOException;
import okhttp3.Call;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class HttpRequest {public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");OkHttpClient client = new OkHttpClient();public String get(String url) throws IOException {Request request = new Request.Builder().url(url).build();Response response = client.newCall(request).execute();return response.body().string();}public String post(String url, String json) throws IOException {RequestBody body = RequestBody.create(JSON, json);Request request = new Request.Builder().url(url).post(body).build();/*  Call call = client.newCall(request);call.*/Response response = client.newCall(request).execute();return response.body().string();}public static void main(String[] args) throws IOException {HttpRequest request = new HttpRequest();System.out.println(request.get("http://www.baidu.com"));}}

加上忽略https证书验证,代码如下:


import okhttp3.*;import javax.net.ssl.*;
import java.io.IOException;public class HttpRequest {public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");//    static OkHttpClient client = new OkHttpClient();//下面是跳过https网站证书验证的,我直接复制的public static OkHttpClient getUnsafeOkHttpClient() {try {final TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {@Overridepublic void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) {}@Overridepublic void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) {}@Overridepublic java.security.cert.X509Certificate[] getAcceptedIssuers() {return new java.security.cert.X509Certificate[]{};}}};final SSLContext sslContext = SSLContext.getInstance("SSL");sslContext.init(null, trustAllCerts, new java.security.SecureRandom());final javax.net.ssl.SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();OkHttpClient.Builder builder = new OkHttpClient.Builder();builder.sslSocketFactory(sslSocketFactory);builder.hostnameVerifier(new HostnameVerifier() {@Overridepublic boolean verify(String hostname, SSLSession session) {return true;}});return builder.build();} catch (Exception e) {throw new RuntimeException(e);}}public String get(String url) throws IOException {Request request = new Request.Builder().url(url).build();OkHttpClient client = getUnsafeOkHttpClient();Response response = client.newCall(request).execute();return response.body().string();}public String post(String url, String json) throws IOException {RequestBody body = RequestBody.create(JSON, json);Request request = new Request.Builder().url(url).post(body).build();OkHttpClient client = getUnsafeOkHttpClient();Response response = client.newCall(request).execute();return response.body().string();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858815.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javafx-一个小demo

懒得讲了,直接看代码吧 pox.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://m…

一个小demo

懒得讲了,直接看代码吧 pox.xml<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://m…

一个 Bug JDK 居然改了十年?

你敢相信么一个简单的Bug,JDK 居然花了十年时间才修改完成。赶快来看看到底是个什么样的 Bug?问题现象 今天偶然看到了一个 JDK 的 Bug,给大家分享一下。 假设现在有如下的代码: List<String> list = new ArrayList<>(); list.add("1"); Object[] ar…

崩溃列表数据库查询(可供参考)

首先去https://weikezhijia.feishu.cn/sheets/BIvxsKZhHhzpC6tDyoLcPE50n4d?sheet=9ikXjx 看库中导出指标,然后可以查到是rum_error表,然后去ors_rum_test服务器,ors_rum_test数据库,rum_error表去查询,结合点击全部按钮后查看F12 然后查看preView里的字段,结合着去查rum…

流量分析练习

flag明文 题目:key.pcapng查找flag或者flag{,我们在下图查找到所需要的flag本类题目特点:能够在字节流中直接查找到带有flag的字符串,不存在加解密或转换等,属于明文形式 2.flag编码 题目:64da5a4a1e024d198dfa307299965b6d.pcapng本题考到十六进制编码 将flag转成十六进…

哪里有 class 告诉我?

说明 本文中的 JVM 参数和代码在 JDK 8 版本生效。 哪里有用户类? 用户类是由开发者和第三方定义的类,它是由应用程序类加载器加载的。 Java 程序可以通过CLASSPATH 环境变量,JVM 启动参数 -cp 或者 -classpath 指定用户需要加载的类的路径。这两个配置的优先级从低到高,后…

python多进程之间通讯,消息队列Queue

代码:from multiprocessing import Process, Queuedef producer(q):myinfo = "包子"q.put(myinfo)print(f"生产了{myinfo}")myinfo = "饺子"q.put(myinfo)print(f"生产了{myinfo}\n") 生产了4个,消费5个def consumer(q):print(f&q…

使用DBeaver连接带有Kerberos认证的hive(亲测可用)

先下载工具 https://yvioo.lanzn.com/isBg42j0fu7e里面是两个文件 一个jar包 一个安装包 首先点击kfw-4.1-amd64.msi 进行安装,建议直接默认配置安装 选择"TYPE" 安装完成后 点击 1、先配置环境变量 第一个变量名:KRB5_CONFIG 变量值: 这个就是Kerberos认证给的k…

【QTTabBar】批量去除当前文件夹的所有文件只读属性

使用方法参考: https://www.cnblogs.com/issacnew/p/18392262// 作者:博客园-issacnew // 网站:https://www.cnblogs.com/issacnew/p/18392262 // 作用:qttabbar去除当前文件夹下的所有文件只读属性,使得所有文件可读var qs = new ActiveXObject("QTTabBarLib.Script…

C#使用Python.NET执行Python脚本文件踩坑总结

在VS,Nuget包管理器搜索“Python.NET”,安装pythonnet包,如下图: C#使用Python.NET执行Python脚本文件,C#代码如下:1 public class PythonExecuter2 {3 private readonly string _pythonDllPath;4 private readonly string _workDir;5 6 public PythonExecut…

PoerPC平台下的ethtool工具的编译

1. 编译器安装 2. 编译过程 参考:ethtool工具源码交叉编译_ethtool交叉编译-CSDN博客 注:步骤3中的config配置中,通过sudo apt-get install pkg-config libmnl-dev修复完问题后,需要重新执行一次步骤2中的./autogen.sh下载目标程序

微信小程序开发总结

业务需要,最近又搞起了微信小程序,之前从来没有参与过小程序的开发,对于开发中的流程也是知之甚少,正好学习一下,开搞... 前提:使用企业注册小程序 微信认证 小程序备案 [本地开发] 1.获取appid和secret 管理 > 开发管理 获取即可, 需要管理员扫码确认这里获取到的appid在使…