首页 > 其他分享 >Groovy-正则捕获,Http请求和写入文件

Groovy-正则捕获,Http请求和写入文件

时间:2023-03-02 19:46:16浏览次数:39  
标签:Groovy Http java http collect 正则 file import def

示例:

    <!-- Font Awesome -->
    <link href="static/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
    <!-- Ionicons -->
    <link href="static/ionicons/4.1.2/css/ionicons.min.css" rel="stylesheet">
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpResponse
import java.nio.file.Files
import java.nio.file.Paths
import java.util.regex.Matcher

def file = new File(/C:\Users\kiss\IdeaProjects\demo.html/)
def collect = file.readLines()
        .findAll { it.contains(/"static/) }
        .collect {
            println it
            Matcher matcher = it =~ $/.*"static/(.+s)".*/$
            matcher[0][1]
        }
println collect
def httpClient = HttpClient.newBuilder().build()
collect.each {
    def request = HttpRequest.newBuilder(URI.create("http://cdn.staticfile.org/$it")).GET().build()
    def response = httpClient.send(request, HttpResponse.BodyHandlers.ofString())
    println response.body()
    Files.writeString(Paths.get("d:/stt/$it").createParentDirectories(), response.body())
}

标签:Groovy,Http,java,http,collect,正则,file,import,def
From: https://www.cnblogs.com/windyWu/p/17173114.html

相关文章

  • 关于HTTP/3的小知识点
    客户端用TCP发送了三个包,但服务器所在的操作系统只收到了后两个包,第一个包丢了。那么内核里的TCP协议栈就只能把已经收到的包暂存起来,“停下”等着客户端重传那个丢失的......
  • 【http】url的格式
    ┌─────────────────────────────────────────────────────────────────────────────......
  • HTTP代理如何爬取?保姆式教程(附测试视频)
    在网络爬虫的应用中,HTTP代理的使用是常见的技术手段之一。通过使用HTTP代理,爬虫可以模拟不同的访问来源,避免被目标网站识别出爬虫行为,从而提高爬虫的成功率和效率。那么,如何......
  • HttpServletRequestWrapper 类&过滤指定文字
    HttpServletWrapper和HttpServletResponseWrapper1).ServletAPI中提供了一个HttpServletRequestWrapper类来包装原始的request对象,   HttpServletReques......
  • 2-STM32+W5500远程升级篇OTA(阿里云物联网平台)-STM32通过W5500+mbedtls使用https下载
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202A/alyota.html"frameborder="0"scrolling="auto"width="100%"height="1500"></ifra......
  • 正则表达式
    本文为转载,由于时间过长忘记出处无法标注来源,特此声明正则表达式1、什么是正则表达式简单的说,正则表达式就是为处理大量的字符串及文本而定义的一套规则和方法。正......
  • 1-STM32+W5500远程升级篇OTA(阿里云物联网平台)-STM32使用使用W5500通过阿里云物联网
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202A/alyota.html"frameborder="0"scrolling="auto"width="100%"height="1500"></ifra......
  • C# HttpClient 上传大文件带进度
    在Httpclient上传文件时需要显示进度,需要添加 ProgressMessageHandler 在NuGet中添加引用Microsoft.AspNet.WebApi.Client 一下是全部代码包括文件上传private......
  • Groovy 使用EasyExcel操作Excel
    示例一:读取Excel,打印拼接的Sqlimportcom.alibaba.excel.EasyExcelclassObj{Integernum;Stringname;}defreaderBuilder=EasyExcel.read(newFile(......
  • HTTP传输大文件的四种方法
    1、数据压缩通常浏览器在发送请求时都会带着“Accept-Encoding”头字段,里面是浏览器支持的压缩格式列表,例如gzip、deflate、br等,这样服务器就可以从中选择一种压缩算法,放......