http请求循环调用返回数据抓取不全解决

2023-05-16

最近碰到一个问题,就是频繁调用http请求,返回的数据出现缺失的情况。特此记录下解决过程。

先上代码  普通的get调用方法

    public String sendGet(String urlStr) throws InterruptedException {
        try {
            //获取httpURLConnection对象
            URL url = new URL(urlStr);
            HttpURLConnection httpURLConnection = (
                    HttpURLConnection) url.openConnection();
            //设置连接属性
            httpURLConnection.setConnectTimeout(60000);
            httpURLConnection.setDoInput(true);
            httpURLConnection.setRequestMethod("GET");
            //获取相应状态码
            int code = httpURLConnection.getResponseCode();
            if (code == 200) {
                String jsonStr = "";
                InputStream inputStream=httpURLConnection.getInputStream();
                // ByteArrayOutputStream相当于内存输出流
                ByteArrayOutputStream out = new ByteArrayOutputStream();
                byte[] buffer = new byte[1024];
                int len = 0;
                // 将输入流转移到内存输出流中
                try {
                    while ((len = inputStream.read(buffer, 0, buffer.length)) != -1) {
                        out.write(buffer, 0, len);
                    }
                    // 将内存流转换为字符串
                    jsonStr = new String(out.toByteArray());
                } catch (IOException e) {
                    log.error("", e);
                }
                return jsonStr;

            }
        } catch (MalformedURLException e) {
            log.error("", e);
        } catch (IOException e) {
            log.error("", e);
        }
        return "";
    }

测试方法:

public static void main(String[] args) throws InterruptedException {
        HttpUtil httpUtil = new HttpUtil();
        for (int i = 0; i < 100; i++) {
            System.out.println("result:"+"-"+i+httpUtil.sendGet("http://ip.taobao.com/service/getIpInfo.php?ip=1.1.1.1"));

        }
      

    }

简化成一个for循环,去调用一个接口。输出如下

可以看到有些请求返回数据完整,有些缺了部分,有些根本获取不到。

单个请求是能完整获取到的,应该就是频繁获取的原因,有人说设置超时时间,可我设置了根本没用。我觉得应该设置请求调用时的间隔时长,所以加了句Thread.currentThread().sleep(500)。如果仍然出现,时间可以再长点。

然后就正常了。不知还有没有其他的解决方案。请大神指教。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

http请求循环调用返回数据抓取不全解决 的相关文章

  • 使用 RCurl 登录 WordPress

    我想使用 R 的 RCurl 包登录 WordPress 网站 以便安装 WordPress 插件 可能在 WordPress 的某些选项页面上使用 postForm 由于该网站受密码保护 我请求您帮助如何验证我的 R 会话 我发现以下三个
  • 在 Java 中使用 JSON 的 HTTP POST

    我想在 Java 中使用 JSON 制作一个简单的 HTTP POST 假设网址是www site com 它接受值 name myname age 20 标记为 details 例如 我将如何创建 POST 语法 我似乎也无法在 JSON
  • 在 Node.js / Express 中,如何“下载”页面并获取其 HTML?

    在代码中 我想下载 http www google com 并将其存储在字符串中 我知道如何在 python 的 urllib 中做到这一点 但是如何在 Node JS Express 中做到这一点呢 var util require ut
  • 如何在 http POST 请求中发送 HTML 代码?

    我正在从 Google Web Toolkit 应用程序向 php 脚本发送 HTTP POST 请求 内容类型现在是 application x www form urlencoded 所以我可以将变量发送到 php 并使用 POST 在
  • 是否可以要求您的用户清除您网站的 HTTP 严格传输安全 (HSTS)?

    如果您为具有较长生命周期的网站打开 HSTS 但后来决定将其关闭 例如由于第三方软件的问题 是否可以警告用户清除其 HSTS 缓存 要关闭服务器的 HSTS 请发送以下标头 Strict Transport Security max age
  • Nestjs拦截并修改传出的http请求

    所以我可能错过了一些东西或者做错了一些事情 我有一个 NestJS 应用程序正在尝试向外部 API 发出 http 请求 我希望能够拦截此传出请求并在执行之前修改其标头 我尝试使用拦截器 但没有成功 传入的 http 请求被拦截 但传出的请
  • REST DELETE 真的是幂等的吗?

    DELETE 应该是幂等的 如果我删除http example com account 123 http example com account 123它将删除该帐户 如果我再次这样做 我会收到 404 错误吗 因为该帐户已不存在 如果我尝
  • Node.js 管道化 HTTP 客户端代理?

    Node js 中内置的 HTTP 客户端似乎不支持管道请求 https stackoverflow com a 5776649 362536 然而 我突然想到 也许可以创建一个Agent https nodejs org api http
  • 如何在我的 gstreamer 中启用 httpsrc 插件?

    我尝试使用以下命令播放通过 http 检索的 mp3 文件或流 gst launch httpsrc location http domain com music mp3 mad osssink 但出现以下错误 ERREUR le pipe
  • 如何在 suave webpart 中设置 Json 响应

    我从 Suave 和 F 开始 我正在尝试在我的 web 部件中传递一个 json 序列化对象以在我的响应中获取它 在 php 中我有这个 player1Key hdegftzj25 gameKey aegfhzkfszl
  • 有什么方法可以处理 HTTP/2 Goaway 在 HttpClient java 中收到的 IOException 吗?

    我在应用程序中进行 API 调用 在某个时候它会随机抛出java io IOException 149 222 1 1 553232 GOAWAY received 使用Java 11环境 无论如何要解决此异常而不是迁移到 Http 1 1
  • IE 下的 Http 请求速度变慢

    在我的 javascript 应用程序中工作时 我注意到使用 IE 11 时 相同的 ajax 请求时间最多延长 10 倍 响应大小完全相同 12 6KB 我看到的唯一区别是 IE 添加 Pragma no cache 不是铬 Chrome
  • 使用 php 和 jquery 的简单彗星示例

    谁能给我一个使用 PHP 的彗星技术的简单好例子 我只需要一个使用持久 HTTP 连接或类似连接的示例 我不想使用轮询技术 因为我已经设置了类似的东西 并且不仅难以使用和管理它的大量资源 另外我使用的是 IIS7 而不是 Apache 一个
  • 在获得响应之前发出多个请求

    当并行发送多个请求时 在获得响应之前 我无法理解 HTTP 的工作原理 有两种情况 1 With Connection Keep Alive 根据HTTP规范 http www w3 org Protocols rfc2616 rfc261
  • RxJS Angular2 在 Observable.forkjoin 中处理 404

    我目前正在链接一堆 http 请求 但是在订阅之前我无法处理 404 错误 My code 在模板中 service getData subscribe data gt this items data err gt console log
  • 我应该使用哪种协议来传输音频(非直播)? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用PHP获取http url参数而不自动解码

    我有一个像这样的网址 test php x hello world y 00h 00e 00l 00l 00o 当我将它写入文件时 file put contents x txt GET x gt hello world file put
  • Http Auth 不适用于 PHP

    我使用 Laravel Lumen Shield 扩展进行 Http 身份验证 但是在我的本地计算机上一切都很完美 我只在我们的服务器上遇到了问题 问题是在我提交正确的登录数据后 登录屏幕再次出现 我尝试了不同的登录数据 不同的浏览器 登录
  • 使用矩阵参数创建 GET 请求

    我将使用的网络服务需要矩阵参数 http tester com v1 customers lastname Jackson firstname Tim bookingreference 7Y9UIY 而不是通常的 http tester c
  • JavaScript:发送 POST,重定向到响应

    我有一个带有 onclick 的图像 当单击事件触发时 我想发送 HTTP POST 并将 window location 重定向到 POST 的响应 我怎样才能做到这一点 只需将按钮绑定到表单元素的提交方法 重定向就会自然发生

随机推荐

  • 13.实现鼠标中断处理

    简介 上节实现了对键盘中断服务子程序的处理和修改优化了中断程序 xff0c 但只是简单的在中断服务子程序中记录断码或通码 xff0c 缓冲区使用效率不高 目标 实现鼠标中断处理 优化中断缓存 pc中8259A中断控制器连接模型如下 1 鼠标
  • 【Linux】在Linux上安装VNC

    有幸能够亲自在服务器上面操作一下 xff0c 这篇博客来说一说 xff0c 如何在Linux上安装VNC 首先要知道的是 xff0c VNC是什么 VNC xff08 Virtual Network Computing xff09 xff0
  • win10开启自带的手机投屏功能方式

    本篇文章主要讲解win10开启自带的手机投屏方式 日期 xff1a 2023年1月15日 作者 xff1a 任聪聪 开启后效果 点击连接 打开连接或通过手机其他网络进行连接 连接步骤 xff1a 步骤一 打开手机端的wifi网络设置 xff
  • TensorFlow学习(三):tf.scatter_nd函数

    scatter nd indices updates shape name 61 None 根据indices将updates散布到新的 xff08 初始为零 xff09 张量 根据索引对给定shape的零张量中的单个值或切片应用稀疏upd
  • text to image(八):《Image Generation from Scene Graphs》

    最近在翻阅文本生成图像的相关工作 xff0c 目前比较新的有突破性的工作是李飞飞工作团队18年cvpr发表的 Image Generation from Scene Graphs 论文地址 xff1a https arxiv org abs
  • text to image(四):《Stackgan》

    继续介绍文本生成图像的相关工作 xff0c 本文给出的是2016年12月10日发表于 arXiv 的文章 Stackgan Text to photo realistic image synthesis with stacked gener
  • text to image(六):《AttnGAN》

    继续介绍文本生成图像的工作 xff0c 本文给出的是CVPR 2018 的文章 AttnGAN Fine Grained Text to Image Generation with Attentional Generative Advers
  • image caption笔记(二):《Show and Tell : A Neural Image Caption Generator》

    一 基本思想 CNN 43 RNN CNN用的是VGG16 RNN部分用的是LSTM 换成resnet101效果会更好 二 模型结构 四 代码分析 xff1a 首先是训练的部分 xff08 1 xff09 准备数据 COCO数据集中的cap
  • L1惩罚项和L2惩罚项

    x即为参数 L2正则化参数 从公式5可以看到 xff0c 越大 xff0c j j衰减得越快 另一个理解可以参考图2 xff0c 越大 xff0c L2圆的半径越小 xff0c 最后求得代价函数最值时各参数也会变得很小
  • COCO数据集介绍

    转载自 xff1a https zhuanlan zhihu com p 29393415 COCO的 全称是Common Objects in COntext xff0c 是微软团队提供的一个可以用来进行图像识别的数据集 MS COCO数
  • image caption笔记(九):《Unsupervised Image Captioning》

    无监督的caption 文章使用一个图像数据集 xff08 MSCOCO xff09 和一个文本语料库 xff08 从Web上抓取的200多万个句子组成图像描述语料库 xff09 来做无监督caption 没有任何配对集合 1 模型结构 x
  • PyTorch中使用指定的GPU

    转载自 http www cnblogs com darkknightzh p 6836568 html PyTorch默认使用从0开始的GPU xff0c 如果GPU0正在运行程序 xff0c 需要指定其他GPU 有如下两种方法来指定需要
  • 七大主流排序算法时间效率比较(基于C语言)

    这段时间在温故一些常见的排序算法 xff0c 顺手便把常见的一些比较著名的排序算法对同一个目标样本做了个比较 样本存于文件中 xff0c 可以根据需要进行替换 我调试的数据量较小 xff0c 发现简单算法 xff08 冒泡 xff0c 选择
  • image caption笔记(十):一些实现过程中的小细节

    1 beam search 一方面可以提升指标 xff0c 另一方面也可以解决生成的句子不通顺的问题 因此 xff0c 不管是在训练测试的过程中都要开beamsearch xff0c 对提高指标有帮助 还有就是 xff0c 如果训练的时候
  • C# 多进程之间的通讯方式

    前言 C 中可能大多数人针对于多线程之间的通讯 xff0c 是熟能生巧 xff0c 对于AsyncLocal 和ThreadLocal以及各个静态类中支持线程之间传递的GetData和SetData方法都是信手拈来 xff0c 那多进程通讯
  • setInterval()之坑

    首先看下面这个例子 xff1a lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt meta charset 61 34 UTF 8 34 gt lt title gt
  • window.open()session丢失问题解决方法

    最近要实现两个项目间的跳转 xff0c 避免二次登录 xff0c 出现了window open session丢失问题 xff0c 说下解决方法 一开始是这样写的 A项目调用B的登录请求 xff0c 返回成功 xff0c 即跳到B项目相应页
  • Java解析XML和json几个小例子

    一 DOM4J解析xml 案例1 xff1a 解析如下xml lt xml version 61 34 1 0 34 encoding 61 34 UTF 8 34 gt lt employee gt lt name gt 张三 lt na
  • Struts2拦截器简单实例

    利用拦截器实现权限控制 用户 admin 有全部的访问访问权限 用户 zhangsan有 a jsp b jsp的 访问权限 用户 lisi有 a jsp c jsp的 访问权限 如果用户没有访问权限 页面统一跳转到 permissionD
  • http请求循环调用返回数据抓取不全解决

    最近碰到一个问题 xff0c 就是频繁调用http请求 xff0c 返回的数据出现缺失的情况 特此记录下解决过程 先上代码 普通的get调用方法 public String sendGet String urlStr throws Inte