Apache HttpClient库编写的Scala程序

news2024/11/27 8:34:57

Apache HttpClient库编写的Scala下载器程序,用于下载图片。代码如下:

import org.apache.http.HttpHost
import org.apache.http.client.HttpClients
import org.apache.http.client.methods.HttpHead
import org.apache.http.impl.client.CloseableHttpClient
import org.apache.http.impl.client.HttpClients.createDefault
import org.apache.http.util.EntityUtils
​
object WeiboImageDownloader {
  def main(args: Array[String]): Unit = {
    val proxyHost = ""
    val proxyPort = 
    val host = new HttpHost(proxyHost, proxyPort, "http")
    val httpClient = HttpClients.createDefault()
    httpClient.getParams().setParameter("http.proxyHost", proxyHost)
    httpClient.getParams().setParameter("http.proxyPort", proxyPort.toString())
    val httpHead = new HttpHead("")
    val response = httpClient.execute(host, httpHead)
    val contentLength = response.getStatusLine().getStatusCode()
    if (contentLength == 200) {
      val entity = response.getEntity()
      if (entity != null) {
        val content = EntityUtils.toString(entity)
        println(content)
      }
    }
  }
}

程序首先导入所需的Apache HttpClient库和HttpHost,HttpClient和HttpHead类。然后,程序创建一个名为WeiboImageDownloader的类,并在其中定义一个名为main的方法。在main方法中,程序首先定义服务器的主机名和端口号,然后创建一个HttpClient对象,并设置其使用服务器。然后,程序创建一个HttpHead对象,并使用HttpClient对象执行该对象以获取网页的头部信息。然后,程序检查返回的状态码,如果状态码为200,则表示请求成功,程序获取响应实体,并将其内容打印到控制台。如果状态码不为200,则表示请求失败。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S部署时IP问题

本次环境搭建需要安装三台Centos服务器(一主二从);搭配的前提时做好ip的设置 主机IP规划 IP地址的设定需要根据自己主机来设置,在虚拟机的虚拟网络编辑器中看他给你的ip;不要查什么ipconfig了。 在虚拟网络编辑器中…

腾讯云优惠券是什么?腾讯云优惠券怎么领取?

腾讯云是腾讯集团倾力打造的云计算品牌,为了吸引用户上云,经常推出各种优惠活动,其中就包括腾讯云优惠券。 1、腾讯云优惠券解释说明 腾讯云优惠券是腾讯云的一种优惠凭证,包括代金券和折扣券,领券之后新购、续费、升…

[ASP]校无忧在线报名系统 v2.1

校无忧在线报名系统为了满足各地不同的报名人员的需求,为提供更为高效、方便、快捷的报名条件,同时也为减轻管理人员的工作难度;更为协调报名人员与管理人员的关系,快速提高了报名人员与管理人员的工作效率应运而生。系统适用于政…

MSQL系列(十三) Mysql实战-left/right/inner join 使用详解及索引优化

Mysql实战-left/right/inner join 使用详解及索引优化 前面我们讲解了BTree的索引结构,也详细讲解下Join的底层驱动表 选择原理,今天我们来了解一下为什么会出现内连接外连接,两种连接方式,另外实战一下内连接和几种最常用的join…

他皮任他皮,我学我的习-我的Java进阶之路!!

他皮任他皮,我学我的习 ——架构师成长之路 IT行业薪资高已成为大家的共识,但你知道哪个岗位薪资在IT行业中也是“高高在上”吗?先来看一项数据直观感受下! 根据看准网调研的样本数据来看,架构师在全国的平均月薪为4…

Path with “WEB-INF“ or “META-INF“: [webapp/WEB-INF/NewFile.html]

2023-11-04 01:03:14.523 WARN 10896 --- [nio-8072-exec-6] o.s.w.s.r.ResourceHttpRequestHandler : Path with "WEB-INF" or "META-INF": [webapp/WEB-INFNewFile.html] spring.mvc.view.prefix:/webapp/WEB-INF/

Matlab2022a详细步骤【操作简单】

一、下载 (1)百度网盘下载 提取码07cc (2)夸克网盘下载 二、安装 1.打开安装包 2. 用“资源管理器”打开iso镜像文件 右键点击“setup”,以管理员身份运行 选择高级选项,“我有文件安装密钥” 从安装…

【PyQt学习篇 · ⑨】:QWidget -控件交互

文章目录 是否可用是否显示/隐藏是否编辑是否为活跃窗口关闭综合案例信息提示状态提示工具提示“这是什么”提示 焦点控制单个控件角度父控件角度 是否可用 setEnabled(bool):该函数用于设置QWidget控件的可用性,参数bool为True表示该控件为可用状态&…

JAVA提取嵌套夹带文件之Apache Tika

目录结构 前言tika简介Tika支持的文件格式MAVEN依赖JAVA程序JAVA测试程序测试文件测试结果部分文件提取失败参考连接 前言 Apache Tika提取文件整理如下,如有特定的文件需要提取可以先参照【部分文件提取失败】章节对照,以免浪费您的宝贵时间&#xff0c…

【Hydro】不同潜在蒸散发计算方法说明

目录 一、基本概念说明蒸发 E E E、散发 T T T、蒸散发 E T ET ET潜在蒸散发 E T p ET_p ETp​、参考作物蒸散发 E T 0 ET_0 ET0​、实际蒸散发 E T a ET_a ETa​及作物实际蒸散发 E T c ET_c ETc​ 二、部分潜在蒸散发估算方法表三、SWAT模型中的潜在蒸散发计算Penman-Monteit…

【JavaEE初阶】 网络编程基础与Socket套接字

文章目录 🎋网络编程基础🚩为什么需要网络编程?🚩什么是网络编程?🚩网络编程中的基本概念📌发送端和接收端📌请求和响应📌客户端和服务端📌常见的客户端服务端…

天软特色因子看板 (2023.11 第01期)

该因子看板跟踪天软特色因子A05006 (近一月单笔流入流出金额之比(%)),该因子为近一个月单笔流入流出金额之比(%)均值因子,用以刻画在市场日内分时成交中流入、流出成交金额的差异性特点,发掘市场主力资金的作用机制。 今日为该因子跟踪第01期…

【Git】git的下载安装与使用

目录 目录 一.下载安装 官方下载 淘宝镜像下载 安装 二.创建本地仓库 三.git的基本操作命令 git status git add . git commit -m " " 四.gitee(码云)的使用 配置ssh公钥 ​编辑 查看公钥 gitee创建仓库 将本地仓库的文件上传到远程仓库…

20.5 OpenSSL 套接字RSA加密传输

RSA算法同样可以用于加密传输,但此类加密算法虽然非常安全,但通常不会用于大量的数据传输,这是因为RSA算法加解密过程涉及大量的数学运算,尤其是模幂运算(即计算大数的幂模运算),这些运算对于计…

C/C++与圆相关的计算 2021年3月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C与圆相关的计算 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C与圆相关的计算 2021年3月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 给出圆的半径,求圆的直径、周长…

网络套接字编程(三)

网络套接字编程(三) 文章目录 网络套接字编程(三)简易日志组件引入日志的原因日志等级打印日志函数将日志组件使用到服务端中 守护进程概念进程组、终端、会话守护进程的实现原理守护进程化组件将守护进程化组件使用到服务端中 补充知识关于inet_ntoa 在上一篇博客 网络套接字…

Required String parameter ‘name‘ is not present

[org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter name is not present] 服务端有参数name,客户端没有传上来

Java--网络通信

1.端口Port: 通常计算机上提供了HTTP,FTP等多种服务,客户机通过不同的端口来确定连接到服务器的哪项服务上。 2.套接字Socket: 套接字Socket用于将应用程序与端口连接起来。套接字是一个假想的链接装置。 3.InetAddress类 java.net包中的Ine…

一文带你轻松拿下Java中的抽象类

🤷‍♀️🤷‍♀️🤷‍♀️各位看官你们好呀!!! 今天我带大家来深入了解一下Java中的抽象类,相信看完这篇文章,你将会有很大的收获! 个人主页 🌂c/java领域新星…

23种设计模式(创建型、构造型、行为型)

目录 设计模式一、创建型设计模式1.1、简单工厂模式(SimpleFactory)1.2、工厂方法(Factory Method)1.3、 抽象工厂(Abstarct Factory)1.4、生成器模式(Builder)1.5、 原型模式(Prototype&#x…