Java发送http请求以及下载图片

使用HttpClient库的下载程序下载蚂蜂窝的图片 这个程序首先创建一个HttpClient实例,然后定义要下载的图片URL,并设置代理主机和代理端口。接着,它发送GET请求,并获取响应体。然后,它将响应体转换为字节数组,并将字节数组写入文件。最后,它关闭文件输出流、响应和HttpClient实例,并输出下载成功信息。希望这个程序能够满足你的需求!编写一个使用HttpClient库的下载程序。该程序将使用Java下载https://www.mafengwo.cn/的图片,并且代码必须使用以下代码:代理主机:www.duoip.cn,代理端口:8000。 阅读详情

一、导入okHttp依赖

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>3.8.1</version>
</dependency>

二、创建HttpUtil工具类

package net.***.util;

import okhttp3.*;

import java.io.IOException;
import java.util.concurrent.TimeUnit;

public class HttpUtils {
    
    private static OkHttpClient client = new OkHttpClient();
    public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");

    /**
     * http  post请求
     */
    public static String postRequest(String url, String param) {
        RequestBody body = RequestBody.create(JSON, param);
        Request request = new Request.Builder()
                .url(url)
                .post(body)
                .build();

        Response response = null;
        try {
            //设置等待时间
            client = new OkHttpClient.Builder()
                    .connectTimeout(20 * 1000, TimeUnit.SECONDS)
                    .writeTimeout(20 * 1000, TimeUnit.SECONDS)
                    .readTimeout(20 * 1000, TimeUnit.SECONDS)
                    .build();

            response = client.newCall(request).execute();
            return response.body().string();
        } catch (IOException e) {
            System.out.println(e);
            return null;
        }
    }

    /**
     * http  get请求
     */
    public static String getRequest(String url) {
        Request request = new Request.Builder()
                .url(url)
                .get()
                .build();

        Response response = null;
        try {
            //设置等待时间
            client = new OkHttpClient.Builder()
                    .connectTimeout(20 * 1000, TimeUnit.SECONDS)
                    .writeTimeout(20 * 1000, TimeUnit.SECONDS)
                    .readTimeout(20 * 1000, TimeUnit.SECONDS)
                    .build();

            response = client.newCall(request).execute();
            return response.body().string();
        } catch (IOException e) {
            System.out.println(e);
            return null;
        }
    }
}

三、根据图片http路径下载图片转换二进制

package net.***.util;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class Utils {
    /**
     * 获取图片二进制流
     */
    public byte[] getFileBytes(String urlMsg) {
        try {
            URL url = new URL(urlMsg);
            // 打开链接
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            // get请求
            connection.setRequestMethod("GET");
            // 超时响应时间
            connection.setConnectTimeout(5*1000);
            //获取流
            InputStream inputStream = connection.getInputStream();
            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            //每次读取的字符串长度,如果为-1,代表全部读取完毕
            int len = 0;
            //使用一个输入流从buffer里把数据读取出来
            while( (len=inputStream.read(buffer)) != -1 ){
                outStream.write(buffer,0,len);
            }
            // 关闭输出流
            inputStream.close();
            // 获取流
            return outStream.toByteArray();
        }catch (Exception e){
            System.out.println(e);
        }
        return null;
    }
}

okhttp3 忽略SSL,图片下载BASE64 okhttp3 忽略SSL,图片下载转BASE64 阅读详情

相关推荐

java下载图片的几种方式,提供源代码

java下载图片的几种方式,提供源代码,需要的朋友自行下载

java okhttp下载图片_使用okhttp下载图片

在尝试使用okhttp的基本功能时,一开始遇到一个很奇怪的问题:我是直接从这个链接下载了jar包并导入到工程里,结果后面运行时总是无法正常下载图片。这个问题查了很久都没有明白,还以为是自己的代码写的不对,然而从网上引用别人的代码同样不对。代码如下:ImageView imageView = (ImageView) findViewById(R.id.myImage);OkHttpClient cl...

weixin_32523999的博客 1205

Qt6导入QtChart绘制图表(添加组件)

我在按照大佬们的说明添加QtChart时发现,我的电脑上并不能正确的添加QtChart并编译通过,所以在综合了两位大佬的说明又自己探索了一番后,正确编译通过,分享出来,以便同志们节省一些时间。

Nuaa0719301zyx的博客 2950

Java通过HttpClient从外部url下载文件到本地

java通过url下载文件到本地 将外网文件通过url转化成本地文件 httpclient下载到本地 java根据url下载文件到本地 解决图片防盗链问题

JavaDog程序狗 1万+

MTK-Display技术解析:从MDP到DDP的架构演进

本文深入解析了联发科(MTK)显示技术从MDP到DDP的架构演进。MDP作为多媒体数据预处理中心,负责格式转换与缩放;而DDP则整合了OVL、COLOR、AAL等模块,并引入CMDQ与场景化模式,实现了从分散处理到统一智能调度的飞跃,旨在提升画质、流畅度并降低功耗。

weixin_29218509的博客 254

私有云平台搭建——OpenStack

私有云平台搭建——OpenStack 搭建过程

2301_79739036的博客 3089

HttpClientUtil工具类、java批量下载网址中的图片到本地、 java后台发送doGet、doPost请求调用接口接受返回值。

HttpClient、doGet、doPost。将网址中的图片下载到本地文件夹

Jack方 1779

SAGA GIS英文版进行地形分析,计算常用的地形因子等

SAGA GIS中文版是一款专业的自动化地球科学分析系统软件。SAGA GIS最新版界面简洁,操作简便,用户使用时输入要分割的影像,选择要计算特征的影像或者波段,设置越大,得到的斑块越大;反之,则越小,点击Okay,得到分割影像图。SAGA GIS中文版主要通过选择适合你影像的格式,加载影像。 SAGA GIS全称是System for Automated Geoscientific Analyses,是一种用于编辑空间数据的地理信息系统(GIS)计算机程序,它是免费的开源软件,SAGA GIS旨在为科学家

qq_35794085的博客 5642

JAVA爬虫爬取图片

图片爬取 最近接触了下java的爬虫,文本信息爬完了,就想看看图片怎么爬,于是就研究了一下,案例爬取的是优快云的今日推荐的图片 Jsoup + HttpClients来实现爬虫 所需pom依赖 <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> <dependency> <groupI...

阳某的博客 4866

selenium绕过检测,规避检测

现在不少大网站有对selenium采取了监测机制。比如正常情况下我们用浏览器访问淘宝等网站的 window.navigator.webdriver的值为 undefined或者为false。而使用selenium访问则该值为true。那么如何解决这个问题呢?我们正常浏览器登录查看,window.navigator.webdriver的值为false我们通过selenium打开的网页,测试,可见window.navigator.webdriver的值为true。

景天科技苑 1万+

Codex 接入自定义大模型终极教程:插件解锁、会话管理、国产模型一键搞定

🚀 Codex 默认只能使用 OpenAI 官方模型?这篇文章带你从零接入 DeepSeek、通义千问、GLM 等国产大模型,并彻底解锁插件、会话删除、多模型切换等隐藏功能。配置原理、常见坑点、傻瓜式增强工具分享,小白也能轻松上手!🔥

XiaoqiangClub的博客 3144

java通过http请求获取文件二进制流生产文件

声明:根据http请求图片的url下载文件到本地 public void downLoadPhoto(String photoUrl)throws Exception{ //获取照片返回二进制流 RestTemplate restTemplate = new RestTemplate(); HttpHe...

Alice_qixin的博客 1万+

17.6 LangSmith 私有化部署实战指南:企业级AI应用的安全基石

LangSmith 私有化部署, 企业级AI开发平台, 数据隐私合规, 混合云架构, 模型监控与审计。

yonggeit的博客 3777

用HttpURLConnection发送http请求

//发送http请求 try { //1.使用网址构造一个URL对象 URL url = new URL(path); //2.获取连接对象 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //3.设置一些属性 //设置请求方式,注意大写 conn.setRequestM...

bahuichi7533的博客 275

网口通信实战(C#完整版):基于TCP协议的工业仪表数据采集系统开发

工业现场中80%的智能仪表(压力/温度/液位/流量/数显仪表)、采集模块、测控终端均支持TCP网口通信,这类设备的TCP通信有鲜明的工业特性:基于字节流的自定义二进制协议、一问一答的主从通信模式、对数据完整性/稳定性要求极高。本次实战是纯工业级落地项目,基于C# WinForm + .NET Framework 4.8(工业上位机标配)✅纯原生无依赖:零第三方类库/控件,仅用C#原生,源码可100%复用、无引用冲突、工控机完美兼容;✅双采集模式完美适配:同时实现「单次手动采集」+「连续自动采集」

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1802

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HttpUrlConnection完成获取网页内容,图片,下载图片实例

Http请求: Http请求是客户端和服务器端之间,发送请求和返回应答的标准(TCP),客户端发送一个Http请求后,就与服务器建立起了TCP连接,服务端接收到请求并进行处理后返回给客户端相应数据。 HttpUrlConnection: HttpUrlConnetion是Java的标准指定网站发送GET请求、POST请求类,继承UrlConnection,可用于向指定网站发送GE...

shaochen2015821426的博客 5876

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java之HTTP编程

HTTP就是目前使用最广泛的Web应用程序使用的基础协议,例如,浏览器访问网站,手机App访问后台服务器,都是通过HTTP协议实现的,HTTP是HyperTextTransferProtocol的缩写,翻译为超文本传输协议,它是基于TCP协议之上的一种请求-响应协议。HostAcceptBrowser......

m0_59340907的博客 1042

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java 写一个爬取图片的爬虫

好的,我会尽力回答你的问题。 要写一个爬取图片的爬虫,你可以使用 Java 的网络编程库来发送 HTTP 请求并解析 HTML 页面。在这里,我们假设你已经了解了 Java 基础知识,包括如何编写程序、创建类和对象、使用循环和条件语句等。 首先,你需要导入 Java 的网络编程库,例如 java.net.URL 和 java.net.HttpURLConnection。然后,你可以使用这些类来打开...

weixin_42576804的博客 452

用 Java 爬美女图片,这个厉害了!

***/// 下载// 多线程SougouImgProcessor processor = new SougouImgProcessor(url,“美女”);// 定义爬取开始索引、每次爬取数量、总共爬取数量i+=size)SougouImgPipeline.java 图片下载类/***//**下载@param url*/if (!

2401_84046545的博客 687

Java爬虫下载千张美女图片

目的 爬取搜狗图片上千张美女图片并下载到本地 准备工作 爬取地址:https://pic.sogou.com/pics?query=%E7%BE%8E%E5%A5%B3 分析 打开上面的地址,按F12开发者工具 - NetWork - XHR - 页面往下滑动XHR栏出现请求信息如下: Request URL : https://pic.sogou.com/napi/pc/searchList?mode=1&start=48&xml_len=48&query=%E7%.

qfzhangxu的博客 509

爬虫 java 百度图片

记录一下java 写的爬虫软件下载百度图片 具体流程如下 找到对应的链接 解析链接的url 下载 1.查询百度图片的地址 打开百度图片,然后搜索图片,F12打开通知他,切换到XHR可以看到有一个登陆信息的链接 这个时候我们继续滑动百度图片 就会发型他多了其他的链接,选择链接,查看对应的属性,可以看到他的返回值 然后通过对比我们可以发现。启动pn是控制页数的,queryWord是控制查询...

Jos 794

java实现从网上下载图片并保存到本地

package cn.net.ching; import java.io.ByteArrayOutputStream;import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL...

weixin_30487317的博客 741

java 访问图片地址下载

importjava.io.ByteArrayOutputStream; importjava.io.File; importjava.io.FileOutputStream; importjava.io.InputStream; importjava.net.Htt...

chugengfu7455的博客 286

java实现上传网络图片到微信服务器

java实现上传网络图片到微信服务器 package org.afuos.playcontrol.service; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; /** * Created by Mohon on 2017/8/10. */ pu

Dreaming_Road的博客 728

Java如何下载图片到本地

/** * 根据url下载图片到本地 * @param imgUrl 图片的路径 */ private void saveImg(String imgUrl) { try { //建立URL连接 URL url = new URL(imgUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnec...

wsc912406860的博客 2075

网络编程,http协议下载文件的第二种方式

需要jar包 commons-logging-1.1.1.jar httpclient-4.1.2.jar httpcore-4.1.2.jar package Demo05; //记住导包的方法 import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import or

XXSession的博客 474
上一篇: 基于element ui封装select 下拉表格
下一篇: Nginx详细配置(收录)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国家级著名CV工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值