Java实现调用相关接口(删减版)

目录

    • 1.0.简单版
    • 2.0.升级版
      • 2-1.call.timeout()怎么传入新的超时值
      • 2-2.timeout(10, TimeUnit.SECONDS)两个参数的意思,具体含义
    • 3.0.进阶版
      • 3-1.java.net.SocketTimeoutException: 超时如何解决
    • 4.0.终极版

在这里插入图片描述

1.0.简单版

  以下是一个使用 Java 实际请求“第三方”的简单示例代码。这个示例使用了 Java 的 OkHttp 库来发送 HTTP 请求和接收。

源码被官方友好了

  在这个示例中,我们使用了OkHttp库来发送HTTP,并接收响应。
  请注意,这个示例是一个简单的示例,实际使用中可能需要进行更多的错误处理和数据解析。另外,OpenAI提供了多种API和模型,具体的实现可能因模型和API而异。

📌执行结果:

被官方友好了

📌分析问题:

  这个错误提示是由于请求头中的Content-Type设置为了application/x-www-form-urlencoded,但是OpenAI API要求请求头的Content-Type设置为application/json。因此,您需要在请求中将Content-Type修改为application/json。您可以使用OkHttp库的MediaType类来指定JSON格式的请求正文。以下是一个示例代码:

2.0.升级版

源码被官方友好了

  在这个示例中,我们使用了OkHttp库的MediaType类来指定请求正文的格式为JSON。我们将请求正文格式化为JSON字符串,并将其作为请求体发送。另外,我们还将Content-Type设置为application/json。


  上面代码执行没有问题,但是遇到个别问题,会出现响应超时的异常错误:

📌执行结果:

Call call = client.newCall(request);
Response response = call.execute();
报错 timed out

📌分析问题:

当服务器响应请求的时间过长时,通常会发生“超时”错误。要修复此错误,您可以尝试以下操作:

  • 1.增加超时:您可以尝试增加代码中的超时值。这将使服务器有更多时间在发生超时错误之前进行响应。您可以通过调用该call.timeout()方法并以秒为单位传入新的超时值来完成此操作。

  • 2.检查您的网络连接:有时缓慢或不可靠的网络连接会导致超时错误。确保您的互联网连接稳定且快速,并检查其他网站或应用程序是否遇到类似问题。

  • 3.查看服务器状态:可能是你所在的服务器运行卡顿。

2-1.call.timeout()怎么传入新的超时值

  要为您的 OkHttpCall对象设置一个新的超时值,您可以使用该timeout方法并指定一个新的超时持续时间。

例如,如果你想设置 10 秒的超时,你可以使用下面的代码:

Call call = client.newCall(request);
call.timeout().timeout(10, TimeUnit.SECONDS);
Response response = call.execute();

  在此代码中,该timeout方法返回的一个实例Timeout,您可以使用该实例通过该timeout方法设置新的超时值。timeout 的第一个参数是超时持续时间,第二个参数是时间单位(在本例中为TimeUnit.SECONDS)。

2-2.timeout(10, TimeUnit.SECONDS)两个参数的意思,具体含义

OkHttp 中的方法timeout有两个参数:

  • 1.duration:这是 OkHttp 在请求超时之前等待的时间。它是一个 long 值,表示超时持续时间。

  • 2.unit:这是用于参数的时间单位duration。它是枚举的一个实例TimeUnit,允许您以秒、毫秒、微秒或纳秒为单位指定持续时间。

  所以在代码中timeout(10, TimeUnit.SECONDS),10是超时的持续时间(以秒为单位),并且TimeUnit.SECONDS是指定持续时间的时间单位。这意味着 OkHttp 将在请求超时之前等待 10 秒。如果服务器在 10 秒内没有响应,OkHttp 将抛出超时异常。

3.0.进阶版

按照上面的改进思路,增加了call.timeout()方法。

Call call = client.newCall(request);
call.timeout().timeout(180, TimeUnit.SECONDS);
Response response = call.execute();

Call call = client.newCall(request);的后面增加了call.timeout().timeout(180, TimeUnit.SECONDS);这么一行代码,重新执行。

📌执行结果:

java.net.SocketTimeoutException: timeout

发现问题还是没有解决!

📌分析问题:

  通常SocketTimeoutException表示客户端没有收到来自服务器的及时响应。当服务器响应时间过长或客户端与服务器之间存在网络连接问题时,可能会发生这种情况。

  在您的情况下,该timeout方法用于设置 200 秒的超时值,这对于大多数用例来说应该足够了。但是,如果服务器在该时间段内仍未响应,您可能需要尝试增加超时值以查看是否可以解决问题。

  另一个可能的原因SocketTimeoutException是客户端和服务器之间可能存在一些网络连接问题。您可能需要检查您的网络连接并确保它稳定可靠。

  最后,也有可能是服务器本身的问题。您可能需要检查服务器日志以查看是否存在任何可能导致超时的错误或问题。

3-1.java.net.SocketTimeoutException: 超时如何解决

SocketTimeoutException通常在网络操作完成时间过长时抛出。要解决此错误,您可以尝试以下操作:

  • 1.增加超时值:您可以尝试增加网络操作的超时值。这可以使用或类timeout中的方法来完成。例如,您可以使用以下代码将超时设置为 60 秒:OkHttpClientURLConnection
OkHttpClient client = new OkHttpClient.Builder().connectTimeout(60, TimeUnit.SECONDS).readTimeout(60, TimeUnit.SECONDS).build();

这会将连接和读取超时设置为 60 秒。

  • 2.检查您的网络连接:确保您的网络连接稳定且快速。您可以尝试重置您的路由器,或检查您的互联网服务提供商是否存在任何问题。

  • 3.检查服务器状态:您尝试连接的服务器可能流量过大或暂时关闭。您可以查看服务器状态或联系服务器管理员确认。

  • 4.优化您的代码:如果您的代码发出许多网络请求,您可以对其进行优化以减少请求数量或将请求一起批量处理。


4.0.终极版

对方法进行一下封装,方便接口调试

完整代码:

源码被官方友好了

📌执行结果:

被官方友好了

PS:更多接口请查阅官方文档

在这里插入图片描述
创作不易,感谢您的点赞与支持。

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

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

相关文章

ChatGPT会取代低代码开发平台吗?

编程作为一种高端技能,向来是高收入高科技的代名词。近期,伴随着ChatGPT在全球的爆火,过去通过窗口“拖拉拽”的所见即所得方式的低代码开发模式,在更加智能和更低成本的AI搅局之下,又面临了更深层次的影响。 低代码平…

chatgpt赋能python:Python人脸照片分类

Python人脸照片分类 人工智能和计算机视觉技术近年来取得了巨大的进步,其中之一就是人脸识别。然而,为了进行人脸识别,需要有高质量的人脸图像数据集。这时候,人脸照片分类就显得非常重要了。Python作为一种脚本语言,…

chatgpt赋能python:Python实现图片上传:如何优化SEO

Python实现图片上传:如何优化SEO 对于网站来说,图片是必不可少的。除了美化页面外,图片也能帮助网站吸引更多的访问者。然而,图片的SEO并不像文字那么直截了当。这篇文章将介绍如何使用Python上传图片并优化SEO。 上传图片 在P…

SpringBoot接口 - 如何生成接口文档之集成Smart-Doc

上文我们看到可以通过Swagger系列可以快速生成API文档, 但是这种API文档生成是需要在接口上添加注解等,这表明这是一种侵入式方式; 那么有没有非侵入式方式呢, 比如通过注释生成文档? 本文主要介绍非侵入式的方式及集成Smart-doc案…

深度学习必备书籍——《Python深度学习 基于Pytorch》

作为一名机器学习|深度学习的博主,想和大家分享几本深度学习的书籍,让大家更快的入手深度学习,成为AI达人!今天给大家介绍的是:《Python深度学习 基于Pytorch》 文章目录 一、背景二、内容简介三、新版特色四、作者介绍…

你的下一任老板可能是AI

文丨郝鑫 编丨刘雨琦 “刚开局心态就崩了,面对真人都没那么紧张,磕磕绊绊没答几句,就被提醒超时,眼睛不知道看哪里,动作显得僵硬奇怪,每道题都草草收场,到最后直接放弃,和AI大眼瞪…

chatgpt赋能Python-python_os_ping

Python OS Ping:测试网络连接状态的最佳方式 Python是一种广泛使用的动态编程语言,由于其容易学习和使用的特点,Python成为了最受欢迎的编程语言之一。Python OS Ping是Python编程语言的一个重要功能,它可以使用基于操作系统的命…

四级作文模板

四级作文模板 1:议论文(eassy)1.1观点选择(option,choice,choice,decision)1.1.1 模板1.1.2 模板运用 1.2现象解释(Why,What)1.2.1 模板1.1.2 模板运用 1.3 问题解决(How to,solutio…

GPT2实现考公申论文章生成

向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习 公众号:datayx 近几年来,考公的人数越来越多,而申论作为考公非常重要的一部分,也是另很多人头痛的一部分。很多人在考试之前都会背一些优秀范…

ChatGPT:【万能话术模板】+99个提示词

一:万能话术提示模板 【方便观看版】 【方便复制版】 现在你是一位[ ]创作者。你的任务是以[ ]为标题写一份[ ]的文章。 文章内容包含[ ] [ ] [ ]3部分。 听众是 [ ],他们喜欢 [ ],看重[ ]。 你的写作风…

用大数据“喂养”出来的AI模型ChatGPT 爆火是大数据、大算力、强算法的支撑,中国缺乏的什么?

先来了解一下ChatGPT的基本情况 ChatGPT本质属于生成式人工智能,属于无监督或半监督的机器学习。与之相关的还有Discriminative modeling区分式模型,区分式模型大多属于监督式学习。 生成性人工智能目前有两种主要的框架:GAN(Gene…

人工智障聊天机器人

目录 项目构想 项目感想 项目API调用 项目语言以及库 项目目录 文件构成 代码清单 main:2.Speech_Recognition.py 1. Sound_Recording.py 3.tuling.py 4.Specch_Sythesis.py 问题总结 1.调用playsound库进行播放音频时会出现使用后资源不释放产生以下…

【大数据AI人工智能】意识机器:ChatGPT 能否拥有自我意识?

导语 2022年11月30日,一个现象级应用程序诞生于互联网,这就是OpenAI开发的ChatGPT。从问答到写程序,从提取摘要到论文写作,ChatGPT展现出了多样化的通用智能。于是,微软、谷歌、百度、阿里、讯飞,互联网大佬们纷纷摩拳擦掌准备入场……但是,请先冷静一下…… 现在 all i…

不写代码、靠“玩” ChatGPT 年入百万,提示工程师正变成硅谷新宠

以下文章转发自来源于硅星人 ,作者章姝敏 随着 ChatGPT 等 AI 工具的风靡,越来越多人将其作为日常生活和工作的助手。为了能更好地与它对话,一个新兴职业——提示工程师应运而生。用自然语言对话,听起来再日常不过了,为…

2023年最新人工智能入门指南(学习清单)

ChatGPT最近很火,为了帮助想入门人工智能的小伙伴们准备了一份超详细的学习清单 前言 为帮助大家快速入门机器学习、深度学习,根据我自己多年的学习和工作经验,总结了这份保姆级的学习清单,让大家在学习时不走弯路。 这份清单主…

ARM简介及其发展历史

前言 ARM名声很大,最近在学习STM32,也借机梳理一下关于ARM的各种概念和信息。 本文主要内容:ARM一词的含义,ARM的发展历史,ARM cortex系列处理器简介与ARM在不同市场的应用情况。 一. ARM一词的4种含义 1.1 ARM公司 …

【探索 Kubernetes|容器基础进阶篇 系列 4】理解现代云原生时代的引擎

文章目录 系列文章目录👹 关于作者一、前言|回顾二、静态和动态视图三、爆火的容器编排工具 Kubernetes 的诞生四、Kubernetes 要解决的问题是什么?五、理解 Kubernetes 全局架构图Master(控制节点)Node(计算节点&…

究诸经典,探寻大模型演变之踪迹

编者按:在仅仅五年的时间里,大语言模型、transformers几乎完全改变了自然语言处理领域。 为了便于快速、扎实、深入地学习大语言模型,本文整理一个简单的经典学术资料列表,供正在入门中的机器学习研究人员和开发者参考。 以下是译…

从ChatGPT看爆火技术概念及医疗领域科技与应用场景

作者:京东健康 陈刚 一、前言 最近OpenAI在官网上宣告了多模态大模型 GPT-4 的诞生,它可能是迄今为止最好的多模态模型。 主要更新内容如下: 1. 逻辑分析能力更加全面、「考试」能力大幅提升 2. 拥有了 识图 能力,可以进行更多元…

ChatGPT生成的程序漏洞百出,程序员的饭碗算是保住了

自去年11月Chat GPT概念推出以来,瞬间风靡全球、热度不减,仅用不到两个月的时间就使月活跃用户数达到1亿。凭借1750亿左右的参数量和关注度创造了互联网应用程序的神话。 对于用户来讲,ChatGPT的出现引领传统互联网彻底迈入AI新时代。由于其在…