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

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.mzph.cn/bicheng/44295.shtml

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

相关文章

最佳 iPhone 解锁软件工具,可免费下载用于电脑操作的

业内专业人士表示,如果您拥有 iPhone,您一定知道忘记锁屏密码会多么令人沮丧。由于 Apple 的安全功能强大,几乎不可能在没有密码或 Apple ID 的情况下访问锁定的 iPhone。 “当我忘记密码时,如何在没有密码的情况下解锁iPhone&am…

仕考网:公务员考试的录取流程

公务员考试的录取流程分很多个阶段,以下是流程介绍: 1. 报名阶段:考生需根据公布的招聘信息和岗位要求进行报名。 2. 笔试阶段:公务员笔试,包括申论和行测两部分。 3. 成绩公布与面试资格:笔试合格者将获…

编译原理:词法分析器 Flex工具的使用(简单易懂)

目录 词法分析器 & Flex工具的使用背景:编译器和解释器概念区别编译器的实现 词法分析器(Lexer)工具(Flex)安装Flex目标程序:verilog代码Flex程序格式DeclarationsDefinitionsRulesUser subroutines如何通过flex读入文件? 完整程序编译&a…

Unity入门之重要组件和API(3) : Transform

前言 Transform类主要处理游戏对象(GameObject)的位移、旋转、缩放、父子关系和坐标转换。 1.位置和位移 1.1必备知识点:Vector3 Vector3 主要用来表示三维坐标系中的一个点或者一个向量。 【声明】 Vector3 v1 new Vector3(); Vector3 v2 new Vector3(10, 10…

ScrapySharp框架:小红书视频数据采集的API集成与应用

引言 随着大数据时代的到来,数据采集成为了互联网企业获取信息的重要手段。小红书作为一个集社交和电商于一体的平台,其丰富的用户生成内容(UGC)为数据采集提供了丰富的资源。本文将介绍如何使用ScrapySharp框架进行小红书视频数…

便携式气象站的应用领域

在气象观测的广阔天地中,便携式气象站不仅集便携性、多功能性和高精度于一身,还以其快速部署、实时监测和数据传输等特点,在科研教学、环境监测、农业生产和灾害预警等多个领域发挥着重要作用。 便携式气象站的基本概念 便携式气象站&#…

高智能土壤养分检测仪:农业生产的科技新助力

在科技日新月异的今天,农业领域也迎来了革命性的变革。其中,高智能土壤养分检测仪作为现代农业的科技新助力,正逐渐改变着传统的农业生产方式,为农民带来了前所未有的便利与效益。 高智能土壤养分检测仪,是一款集高科技…

职场必备神器!图片提取文字!OCR文字识别助手:让灵感自由流动!

Hey,创意达人们!是否曾在网页上看到令人心动的设计灵感,却因无法复制粘贴而苦恼?别担心,今天我要给你们安利一个办公小秘密——OCR文字识别助手,让你的灵感自由流动,创意无限! 功能…

深入了解代理IP常见协议:区别与选择

代理服务器在网络使用中扮演着重要的角色,是您设备和互联网之间的中间层。它不仅可以增强网络访问的安全性和隐私保护,还可以提供许多灵活的应用。使用代理时,不同的协议类型对数据交换具有不同的规则和特征。常见的代理协议包括HTTP代理、HT…

轻松掌握图片压缩技巧,释放存储空间!

前言 在这个充满视觉冲击的时代,我们每天都在创造和分享图片。但你是否发现,手机和电脑的存储空间越来越不够用了?图片文件过大,不仅占用空间,还影响传输速度和网页加载。今天,就让我来教你几招&#xff0…

政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署MuseV (踩完了所有的坑):基于视觉条件并行去噪的无限长度和高保真虚拟人视频生成

目录 下载项目 创建虚拟环境 启动虚拟环境&执行项目依赖 基于DOCKER的尝试 A. 安装引擎 B. 下载桌面安装包 C. 安装桌面包 用Docker运行MuseV 1. 拉取镜像 ​编辑 2. 运行Docker镜像 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收…

Android APT实战

Android开发中,注解平时我们用的比较多,也许我们会比较好奇,注解的背后是如何工作的,这篇文章帮大家一步步创建一个简单的注解处理器。 简介 APT(Annotation Processing Tool)即注解处理器,在编译的时候可以处理注解然后搞一些事情,也可以在编译时生成一些文件之类的。…

Android Studio音频视频播放器课程设计

这个项目适合刚刚学习Android studio的初学者,实现音视频的基本播放功能,各项功能的页面都做的比较简单,特别适用于初学者,其特点在于本项目抛开了各种花里胡哨的制作,以最接近初学者的样式画面呈现,完全不…

20240711 每日AI必读资讯

🎨Runway Gen-3 Alpha 详细使用教程以及提示词指南大全 - 7月9日,著名生成式AI平台Runway在官网公布了,最新发布的文生视频模型Gen-3 Alpha的文本提示教程。 - 从技术层面来说,输入的文本提示会被转换成“向量”,这些…

深入理解Python密码学:使用PyCrypto库进行加密和解密

深入理解Python密码学:使用PyCrypto库进行加密和解密 引言 在现代计算领域,信息安全逐渐成为焦点话题。密码学,作为信息保护的关键技术之一,允许我们加密(保密)和解密(解密)数据。P…

通过Umijs从0到1搭建一个React项目

有一阵时间没写react了,今天通过umi搭建一个demo项目复习一下react;umi是一个可扩展的企业级前端应用框架,在react市场中还是比较火的一个框架。 Umi官方文档:Umi 介绍 (umijs.org) 一、构建项目。 1、安装包管理工具。 官方推…

力扣题解(设计跳表)

1206.设计跳表 已解答 不使用任何库函数,设计一个 跳表 。 跳表 是在 O(log(n)) 时间内完成增加、删除、搜索操作的数据结构。跳表相比于树堆与红黑树,其功能与性能相当,并且跳表的代码长度相较下更短,其设计思想与链表相似。 …

【观成科技】Websocket协议代理隧道加密流量分析与检测

Websocket协议代理隧道加密流量简介 攻防场景下,Websocket协议常被用于代理隧道的搭建,攻击者企图通过Websocket协议来绕过网络限制,搭建一个低延迟、双向实时数据传输的隧道。当前,主流的支持Websocket通信代理的工具有&#xf…

构建高精度室内定位导航系统,从3DGIS到AI路径规划的全面解析

室内定位导航系统是一种利用多种技术实现室内精准定位和导航的智能系统,即便没有卫星信号,也能实现精准导航。维小帮室内定位导航系统是基于自研的地图引擎与先进定位技术,结合智能路径规划算法,解决了人们在大型复杂室内场所最后…

【深度学习】图形模型基础(6):模型优化理论

1.引言 在之前的讨论中,我们构建了一个理论模型来表达最优决策规则,这是建立在我们对数据的概率模型有充分理解的基础上的。相对地,经验风险最小化(Empirical Risk Minimization, ERM)策略则在缺乏精确概率模型的情况…