LINUX命令行curl指令与python内置urllib模块

news2024/11/14 3:56:43

urllib是python御用的易用的轻便模块,curl是Linux功能强大的命令行工具,都是参与Web的利器。


(笔记模板由python脚本于2024年07月10日 18:41:12创建,本篇笔记适合喜欢Python和Linux的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


curl是Linux功能强大的命令行工具
curl指令&urllib模块
(urllib是python御用的易用的轻便模块)


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/article/details/140303237

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ curl指令&urllib模块
    • 1、curl指令
    • 获取网页内容
      • 将输出保存到文件
      • 发送POST请求
      • 发送带有头部的请求
      • 使用代理
      • 上传文件
      • 下载文件
      • 显示响应头信息
      • 使用cookie
      • 使用用户代理
      • 忽略SSL证书验证
      • curl官网地址
    • 2、curl的参数选项
      • 我目前对crul的唯一应用
    • 3、Linux命令行中指令中的`>`重定向
    • 4、urllib的一般操作
      • 打开URL并读取内容
      • 发送GET请求
      • 发送POST请求
      • 处理异常
      • 解析URLs
      • URL编码和解码
    • 5、urllib高阶操作
      • 使用`OpenerDirector`处理多个请求
      • 使用`build_opener`自定义请求
      • 使用`ProxyHandler`设置代理
      • 使用`HTTPCookieProcessor`处理Cookies
      • 使用`Request`对象自定义请求
    • 6、curl vs urllib
    • 7、os.system LINUX指令容器
    • 8、总结


◆ curl指令&urllib模块


1、curl指令


  curl是一个在 L i n u x Linux Linux W i n d o w s Windows Windows m a c O S macOS macOS上广泛使用的命令行工具,用于传输数据。它支持许多协议,包括HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、LDAP、LDAPS、DICT、FILE、TELNET、IMAP、POP3、SMTP等。


以下是curl的一些基本用法和选项

获取网页内容

curl http://www.example.com

这会将http://www.example.com的HTML内容输出到终端。

将输出保存到文件

curl -o filename.html http://www.example.com

这会将网页内容保存到名为filename.html的文件中。

发送POST请求

curl -d "param1=value1&param2=value2" -X POST http://www.example.com/resource

这会发送一个POST请求到指定的URL,并附带表单数据。

发送带有头部的请求

curl -H "Content-Type: application/json" -X POST -d '{"key1":"value1", "key2":"value2"}' http://www.example.com/resource

这会发送一个带有自定义头部的POST请求,并将JSON数据作为请求体。

使用代理

curl -x http://proxy.example.com:8080 http://www.example.com

这会通过指定的代理服务器发送请求。

上传文件

curl -F "file=@path/to/local/file" http://www.example.com/upload

这会将本地文件作为多部分POST请求上传到服务器。

下载文件

curl -O http://www.example.com/file.tar.gz

这会以原始文件名下载文件。

显示响应头信息

curl -I http://www.example.com

这会显示服务器的响应头信息,而不显示实际内容。

使用cookie

curl -b cookies.txt -c cookies_new.txt http://www.example.com

这会发送存储在cookies.txt中的cookie,并将服务器设置的cookie保存到cookies_new.txt中。

使用用户代理

curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" http://www.example.com

这会设置用户代理字符串,以模仿不同的浏览器。

忽略SSL证书验证

curl -k https://www.example.com

这会在SSL连接中忽略证书验证,适用于自签名证书或无效证书。


curl官网地址

  以上列举的示例,是curl的一些常用选项和用法。curl是一个非常强大的工具,它有许多其他选项和功能,可以通过阅读手册页(man curl)或访问官方文档来了解更多信息。(官方文档地址:https://curl.se,纯英文页面)



回页目录


2、curl的参数选项


  curl 是一种在命令行或脚本中( 向 / 从 向/从 /)服务器传输数据的工具,支持许多协议,如 HTTP、HTTPS、FTP 等。当使用 curl 命令时,你可以传递各种参数来定制请求的行为。


  • 以下是一些常见的 curl 参数类型:
  1. 基本选项:
    • -A--user-agent: 设置用户代理字符串。
    • -d--data: HTTP POST 数据。
    • -D--dump-header: 将响应头写入文件。
    • -F--form: 提交表单数据。
    • -H--header: 添加 HTTP 头。
    • -I--head: 仅获取 HTTP 头。
    • -o--output: 将输出写入文件。
    • -O--remote-name: 将输出写入远程文件名。
    • -u--user: 设置服务器的用户和密码。
    • -X--request: 设置 HTTP 请求方法。
  2. 连接选项:
    • -c--cookie: 读取 cookies。
    • -b--cookie-jar: 将 cookies 保存到文件。
    • -e--referer: 设置引用页。
    • -L--location: 跟随重定向。
    • --connect-timeout: 设置连接超时时间。
    • --max-time: 设置最大允许操作时间。
  3. 数据传输选项:
    • -T--upload-file: 上传文件。
    • -C--continue-at: 断点续传。
  4. SSL/安全选项:
    • --cert: SSL 证书。
    • --key: SSL 密钥。
    • --cacert: CA 证书。
    • -k--insecure: 允许不安全的 SSL 连接。
  5. 其他选项:
    • -v--verbose: 显示详细操作信息。
    • -q--disable: 禁用进度/速率输出。
    • --silent: 静默模式。
    • --version: 显示版本信息。
    • --help: 显示帮助信息。
      这些参数可以根据需要进行组合,以实现特定的网络请求。例如,如果你想以 POST 方法发送数据到一个 URL,并设置自定义的 HTTP 头,你可以使用如下命令:
curl -d "param1=value1&param2=value2" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://example.com

这里的 -d 表示发送的数据,-H 表示添加的 HTTP 头,而 -X 指定了请求方法。


“静默选项”

  • 其它选项--silent: 静默模式,也可以写成-s的形式。

      -s 参数是 curl 命令行工具的一个选项,它用于静默模式(silent mode)。当使用 -s 参数时,curl 不会输出任何进度或错误信息。这在你想要脚本化 curl 使用或者不希望看到命令行输出时非常有用。

例如,如果你想要下载一个文件而不显示任何进度条或错误信息,你可以使用如下命令:

curl -s -o filename.zip http://example.com/file.zip

在这个例子中,-s 使得 curl 在下载过程中保持静默,而 -o 参数指定了下载文件的本地名称。


结合 -s 参数的其他选项,你可以进一步控制 curl 的行为。例如,如果你想要在静默模式下发送一个带有自定义头的 POST 请求,你可以这样做:

curl -s -d "param1=value1&param2=value2" -H "Custom-Header: Value" -X POST http://example.com

在这个例子中,-s 保证命令执行时不会有任何输出,-d 指定了要发送的数据,-H 添加了一个自定义的 HTTP 头,而 -X 指定了请求方法为 POST。


curl的强大功能,我目前还得仰望,仅仅会将url对应的源码写入文件😔


我目前对crul的唯一应用

system(f"curl -s {myUrlRoot}{Id} > {filename}") # Linux指令curl获取页面文本并存入磁盘文本文件。

这条python语句将网页f"{myUrlRoot}{Id}"(将myUrlRootId拼接而成的url)内容保存到名为变量filename的文件中。见我的学习笔记“CSDN学习笔记总索引(2024)——我的创作纪念日(1024)”,地址:https://blog.csdn.net/m0_57158496/article/details/136768180,可以点击蓝色文字跳转翻阅。



回页目录


3、Linux命令行中指令中的>重定向


  在 Linux 命令行中,> 字符是一个重定向操作符,用于将命令的输出重定向到文件中。具体来说,它将命令的输出写入到指定的文件中,如果文件已经存在,则覆盖原有内容。如果不指定文件名,则会创建一个以指定的文件名命名的新文件。


例如,如果你想将 ls 命令的输出(列出当前目录下的文件和文件夹)重定向到一个名为 filelist.txt 的文件中,你可以使用以下命令:

ls > filelist.txt

这个命令会创建(或覆盖)filelist.txt 文件,并将 ls 命令的输出写入到这个文件中。
还有另一个相关的重定向操作符 >>,它用于将命令的输出追加到文件的末尾,而不是覆盖文件内容。例如:

ls >> filelist.txt

这个命令会将当前目录下的文件和文件夹列表追加到 filelist.txt 文件的末尾,而不是覆盖原有内容。


  重定向操作符 >>> 可以与几乎所有的命令行工具一起使用,使得在 Linux 中处理输出变得更加灵活和强大。



回页目录


4、urllib的一般操作


  urllib是Python标准库中的一个模块,它提供了用于读取来自Web的URL(主要是HTTP和HTTPS)的函数和类。urllib可以用来发送网络请求、处理异常、解析URLs等。以下是urllib的一些基本功能和使用方法:


打开URL并读取内容

import urllib.request
# 打开一个网页并读取内容
with urllib.request.urlopen('http://www.example.com') as response:
    html = response.read()
# 将字节转换为字符串
html = html.decode('utf-8')
# 打印内容
print(html)

发送GET请求

import urllib.parse
# 参数编码
params = urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
url = 'http://www.example.com/page?{}'.format(params)
# 发送GET请求
with urllib.request.urlopen(url) as response:
    html = response.read()

发送POST请求

import urllib.parse
import urllib.request
# 要发送的数据
data = urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
data = data.encode('utf-8')
# 创建Request对象,设置请求头
req = urllib.request.Request('http://www.example.com/post', data=data)
req.add_header('User-Agent', 'Mozilla/5.0')
# 发送POST请求
with urllib.request.urlopen(req) as response:
    html = response.read()

处理异常

from urllib.error import URLError, HTTPError
try:
    with urllib.request.urlopen('http://www.example.com') as response:
        html = response.read()
except HTTPError as e:
    print('HTTP Error:', e.code)
except URLError as e:
    print('URL Error:', e.reason)

解析URLs

from urllib.parse import urlparse
result = urlparse('http://www.example.com/index.html;user?id=5#comment')
print(result.scheme)    # 'http'
print(result.netloc)    # 'www.example.com'
print(result.path)      # '/index.html'
print(result.params)    # 'user'
print(result.query)     # 'id=5'
print(result.fragment)  # 'comment'

URL编码和解码

import urllib.parse
# 编码
encoded_params = urllib.parse.quote('参数1=值1&参数2=值2')
# 解码
decoded_params = urllib.parse.unquote(encoded_params)
print('Encoded:', encoded_params)
print('Decoded:', decoded_params)

  urllib模块提供了基本的网络请求功能,但对于更复杂的任务,如保持会话、处理cookies、发送JSON数据等,requests库提供了更简洁和强大的API。不过,由于urllib是Python标准库的一部分,它不需要安装,因此在无法安装第三方库的环境中,urllib是一个非常有用的工具。



回页目录


5、urllib高阶操作


  urllib模块确实提供了一些更高级的功能,虽然它们可能没有requests库那么直观和易用。


以下是一些urllib的高级操作:

使用OpenerDirector处理多个请求

urllib提供了一个OpenerDirector类,它可以被用来处理多个请求,并且可以添加处理特殊类型的URL的处理器。

from urllib.request import OpenerDirector, HTTPHandler, HTTPSHandler
# 创建一个OpenerDirector实例
opener = OpenerDirector()
opener.add_handler(HTTPHandler())
opener.add_handler(HTTPSHandler())
# 使用opener发送请求
response = opener.open('http://www.example.com')
html = response.read()

使用build_opener自定义请求

build_opener函数可以用来创建一个OpenerDirector实例,并且可以添加自定义的处理器。

from urllib.request import build_opener, HTTPHandler
from urllib.error import HTTPError
# 创建一个自定义的处理器
class MyHTTPHandler(HTTPHandler):
    def http_open(self, req):
        print("Sending request...")
        return HTTPHandler.http_open(self, req)
# 使用build_opener添加自定义处理器
opener = build_opener(MyHTTPHandler())
# 发送请求
try:
    response = opener.open('http://www.example.com')
    html = response.read()
except HTTPError as e:
    print('Error:', e.code)

使用ProxyHandler设置代理

from urllib.request import ProxyHandler, build_opener
# 创建一个代理处理器
proxy_handler = ProxyHandler({
    'http': 'http://127.0.0.1:8080',
    'https': 'https://127.0.0.1:8080'
})
# 使用build_opener添加代理处理器
opener = build_opener(proxy_handler)
# 发送请求
response = opener.open('http://www.example.com')
html = response.read()

使用HTTPCookieProcessor处理Cookies

from http.cookiejar import CookieJar
from urllib.request import HTTPCookieProcessor, build_opener
# 创建一个CookieJar对象
cookie_jar = CookieJar()
# 创建一个带有Cookie处理器的opener
opener = build_opener(HTTPCookieProcessor(cookie_jar))
# 发送请求
response = opener.open('http://www.example.com')
html = response.read()
# 查看cookies
for cookie in cookie_jar:
    print(cookie)

使用Request对象自定义请求

from urllib.request import Request
# 创建一个Request对象,设置自定义的请求头
req = Request('http://www.example.com')
req.add_header('User-Agent', 'Mozilla/5.0')
# 发送请求
with urllib.request.urlopen(req) as response:
    html = response.read()


  这些是urllib提供的一些高级功能,它们可以帮助你处理更复杂的网络请求场景。不过,如果您需要频繁进行网络请求或者处理更复杂的逻辑,那么使用requests库可能会更加方便和高效。



回页目录


6、curl vs urllib


  • 是不是可以说“urllib是python中的curl”?

  • 可以认为urllib在Python中的作用与curl在命令行中的作用类似,但它们之间也有一些区别。

    urllib是Python的标准库之一,用于读取来自Web的URL(统一资源定位符)的内容。它支持许多HTTP功能,如请求发送、响应读取、异常处理等。使用urllib可以很容易地在Python程序中实现网络数据的获取和操作。
    curl是一个在命令行或脚本中向/从服务器传输数据的工具,支持许多协议,如HTTP、HTTPS、FTP等。curl通常用于测试、调试和日常使用。

    虽然urllibcurl在功能上有相似之处,但它们的使用场景和操作方式有所不同。urllib更适用于Python程序中,而curl更适用于命令行环境。



回页目录


7、os.system LINUX指令容器


  • 如果用os.system在python中模拟LINUX命令行操作curl,比之urllib,何如?

  • 使用os.system在Python中调用curl命令行工具与使用urllib库进行HTTP请求有以下几个主要区别
  1. 环境依赖
    • os.system需要你的系统上安装有curl命令行工具,而urllib是Python的标准库,无需额外安装。
  2. 功能和使用场景
    • curl是一个功能强大的工具,支持多种协议和数据传输选项,通常用于复杂的网络任务,如文件上传/下载、身份验证、代理支持等。
    • urllib通常用于简单的HTTP请求,但对于Python程序员来说,它更易于集成到Python代码中,并且可以通过各种Pythonic的方式进行错误处理和数据操作。
  3. 性能
    • os.system在执行curl命令时需要启动一个新的进程,这比直接在Python中使用urllib进行网络请求要慢,因为urllib是在Python进程中直接进行网络通信。
  4. 安全性
    • 使用os.system执行系统命令存在安全风险,因为它可能会受到注入攻击,如果命令中包含不受信任的用户输入,这可能导致安全漏洞。
    • urllib是Python的一部分,其使用方式和参数传递更加安全,不容易受到注入攻击。
  5. 代码维护和可读性
    • 使用os.system调用curl会使得代码依赖于外部工具,这可能会在不同的环境中导致问题,并且使得代码更难以维护。
    • urllib的使用更加符合Python的编程习惯,使得代码更加一致和可读。


  总的来说,如果你只是需要进行一些简单的HTTP请求,urllib通常是更好的选择,因为它更简单、更安全,并且与Python的集成更紧密。然而,如果你需要利用curl的特定功能,或者在一个已经使用了curl命令的环境中,使用os.system来调用curl也是可行的,但需要注意相关的安全性和性能问题



回页目录


8、总结


   c u r l curl curl u r l l i b urllib urllib都是好用的参与 W e b Web Web的实用工具,至于选择哪个形式,要根据适用场景和个人喜好,因时因地权衡考量。



回页首


上一篇:  python脚本“文档”撰写——“诱骗”ai撰写“火火的动态”python“自动”脚本文档(“火火的动态”python“自动”脚本文档,又从ai学习搭子那儿“套”来,可谓良心质量👍👍)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。

  • 001
    标题:让QQ群昵称色变的神奇代码
    (浏览阅读 5.9w )
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:25 收藏:86 评论:17
    摘要:让QQ昵称色变的神奇代码。
    首发:2022-01-18 19:15:08
    最后编辑:2022-01-20 07:56:47

  • 002
    标题:Python列表(list)反序(降序)的7种实现方式
    (浏览阅读 1.1w )
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:8 收藏:35 评论:8
    摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
    首发:2022-12-11 23:54:15
    最后编辑:2023-03-20 18:13:55

  • 003
    标题:pandas 数据类型之 DataFrame
    (浏览阅读 9.7k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:7 收藏:36 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    首发:2022-05-01 13:20:17
    最后编辑:2022-05-08 08:46:13

  • 004
    标题:个人信息提取(字符串)
    (浏览阅读 8.2k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:2 收藏:15 
    摘要:个人信息提取(字符串)_个人信息提取python。
    首发:2022-04-18 11:07:12
    最后编辑:2022-04-20 13:17:54

  • 005
    标题:Python字符串居中显示
    (浏览阅读 7.6k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    评论:1

  • 006
    标题:罗马数字转换器|罗马数字生成器
    (浏览阅读 7.5k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    摘要:罗马数字转换器|生成器。
    首发:2022-01-19 23:26:42
    最后编辑:2022-01-21 18:37:46

  • 007
    标题:回车符、换行符和回车换行符
    (浏览阅读 6.0k )
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    首发:2022-02-24 13:10:02
    最后编辑:2022-02-25 20:07:40


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

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

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

相关文章

【最强八股文 -- 计算机网络】【快速版】WWW 构建技术 (3 项)

1.HTML(HyperText Markup Language):作为页面的文本标记语言 2.HTTP(HyperTextTransfer Protocol):文档传递协议 3.URL(Uniform Resource Locator):指定文档所在地址 HTTPS 和 HTTP 的区别: HTTP: 以明文的方式在网络中传输数据,HTTPS 解决了HTTP 不安全的缺陷&…

芋道源码 yudao-cloud 文档,视频,开发指南如何看全部

进入官网后可以看到相关内容 但是后端手册开始就看不了了 必须加入知识知识星球才行,很烦 闲**鱼搜索用户 水城打坐的藤壶 找到这个链接 这下大家都懂了吧 现在就可以看到看不到的内容了 在线文档的弹窗可技术去除,很简单 直接起飞哈 包括更新sq…

DELTA: DEGRADATION-FREE FULLY TEST-TIME ADAPTATION--论文笔记

论文笔记 资料 1.代码地址 2.论文地址 https://arxiv.org/abs/2301.13018 3.数据集地址 https://github.com/bwbwzhao/DELTA 论文摘要的翻译 完全测试时间自适应旨在使预训练模型在实时推理过程中适应测试数据流,当测试数据分布与训练数据分布不同时&#x…

前端面试题40(浅谈MVVM双向数据绑定)

MVVM(Model-View-ViewModel)架构模式是一种用于简化用户界面(UI)开发的软件架构设计模式,尤其在现代前端开发中非常流行,例如在使用Angular、React、Vue.js等框架时。MVVM模式源于经典的MVC(Mod…

【C++修行之道】string类练习题

目录 387. 字符串中的第一个唯一字符 125. 验证回文串 917. 仅仅反转字母 415. 字符串相加(重点) 541. 反转字符串 II 387. 字符串中的第一个唯一字符 字符串中的第一个唯一字符 - 力扣(LeetCode) 给定一个字符串 s &#…

【UE5.3】笔记10-时间轴的使用

时间轴 右键--Add Timeline(在最下面) --> 双击进入时间轴的编辑界面: 左上角可以添加不同类型的轨道,可以自定义轨道的长度,单位秒,一次可以添加多个 可以通过右键添加关键帧,快捷键:shift鼠标左键按…

ssrf结合redis未授权getshell

目录 漏洞介绍 SSRF Redis未授权 利用原理 环境搭建 利用过程 rockylinux cron计划任务反弹shell 写公钥免密登录 ubuntu 写公钥免密登录 漏洞介绍 SSRF SSRF(server side request forgrey)服务端请求伪造,因后端未过滤用户输入&…

LeetCode(2)合并链表、环形链表的约瑟夫问题、链表分割

一、合并链表 . - 力扣(LeetCode) 题目描述: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ typedef struct ListNode ListNode; struct ListNode* mergeTwoLists(struct …

skywalking-1-服务端安装

skywalking很优秀。 安装服务端 skywalking的服务端主要是aop服务,为了方便查看使用还需要安装ui。另外采集的数据我们肯定要存起来,这个数据库就直接用官方的banyandb。也就是aop、ui、banyandb都使用官方包。 我们的目的是快速使用和体验&#xff0c…

stm32按键设置闹钟数进退位不正常?如何解决

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

MMII 的多模态医学图像交互框架:更直观地理解人体解剖结构和疾病

医生在诊断和治疗过程中依赖于人体解剖图像,如磁共振成像(MRI),难以全面捕捉人体组织的复杂性,例如组织之间的空间关系、质地、大小等。然而,实时感知有关患者解剖结构和疾病的多模态信息对于医疗程序的成功…

✅小程序申请+备案教程

##red## 🔴 大家好,我是雄雄,欢迎关注微信公众号,雄雄的小课堂。 零、注意事项 需要特别注意的是,如果公司主体的微信公众号已经交过300块钱的认证费了的话,注册小程序通过公众号来注册,可以免…

手搓前端day1

断断续续的学了些前端,今天开始写写代码,就当是记录一下自己前端的成长过程 效果: 写了点css,实现了简单的前端页面的跳转 文件目录 代码如下: styles.css body{margin: 0;padding: 0;}header{background-color: bl…

3102.力扣每日一题7/9 Java(TreeMap)

博客主页:音符犹如代码系列专栏:算法练习关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 目录 TreeMap详解 解题思路 解题方法 时间复杂度 空间复杂度 Code T…

打卡第8天-----字符串

进入字符串章节了,我真的特别希望把leetcode上的题快点全部都给刷完,我是社招准备跳槽才选择这个训练营的,面试总是挂算法题和编程题,希望通过这个训练营我的算法和编程的水平能有所提升,抓住机会,成功上岸。我现在的这份工作,真的是一天都不想干了,但是下家工作单位还…

jmeter-beanshell学习7-props获取全局变量和设置全局变量

继续写点不痛不痒的小东西。第一篇写了vars设置变量,但是vars只能作用在同一个线程组。跨线程组情况比较少,要是用到跨线程组,有个pros,用法和vars一样。 在setup线程组设置变量a,执行的时候,jmeter会先执行…

【HarmonyOS】关于官方推荐的组件级路由Navigation的心得体会

前言 最近因为之前的630版本有点忙,导致断更了几天,现在再补上。换换脑子。 目前内测系统的华为应用市场,各种顶级APP陆续都放出来beta版本了,大体上都完成了主流程的开发。欣欣向荣的气息。 学习思路 关于学习HarmonyOS的问题…

ApiFox或postman怎么用params类型传输json或集合+json的String类型

你是否碰见过这样的接口? post请求然后传输的参数都要和查询时一样以param形式传参数,那String什么的都好说,传就直接进后台了,那json呢,集合呢,是不是直接给你返400呢. 1.传json如何处理 那我们看看怎么实现,如果你要传json数据,那需要将特殊字符转义,也叫url转码,否则传不…

BeanUtils.copyProperties到底坑了多少人?

今儿我们就来梳理一下BeanUtils.copyProperties的坑点!! 一、坑点全解析 1. 类型不匹配 2. 属性命名差异 例如: 3. Boolean类型和is属性开头的坑 使用Lombok生成的getter方法时,如果Boolean类型的属性以is开头,Bea…

PHP工单预约表单系统小程序源码

🔧【高效办公新利器】工单预约表单系统大揭秘 💼【一键提交,工单管理新高度】 你还在为繁琐的工单提交流程头疼吗?工单预约表单系统,让你的工单管理步入高效时代!只需简单几步,填写必要信息&a…