欢迎各位兄弟 发布技术文章
这里的技术是共享的
macos 通过 curl 和 wget 获取结果示例
在 macOS 中,curl
和 wget
都是非常有用的命令行工具,用于从网络上获取文件或数据。下面是使用这两个工具的一些示例。
获取网页内容:
bash深色版本1 curl http://example.com
保存网页到本地文件:
bash深色版本1 curl -o output.html http://example.com
发送 POST 请求:
bash深色版本1 curl -X POST -d "param1=value1¶m2=value2" http://example.com
添加请求头:
bash深色版本1 curl -H "Content-Type: application/json" -H "Authorization: Bearer your_token" http://example.com/api/resource
上传文件:
bash深色版本1 curl -T localfile.txt ftp://username:password@yourserver.com/remote/path/
使用 SSL/TLS 证书验证:
bash深色版本1 curl --cacert /path/to/cacert.pem https://secure.example.com
下载文件:
bash深色版本1 wget http://example.com/file.zip
递归下载整个网站(注意这可能会下载大量数据):
bash深色版本1 wget -r http://example.com
使用代理服务器:
bash深色版本1 export http_proxy=http://proxyserver:port 2 wget http://example.com
模拟浏览器:
bash深色版本1 wget --user-agent="Mozilla/5.0" http://example.com
断点续传:
bash深色版本1 wget --continue http://example.com/largefile.iso
限制下载速度:
bash深色版本1 wget --limit-rate=50k http://example.com/largefile.iso
这些只是基本的用法示例。curl
和 wget
都有非常丰富的功能和选项,你可以通过它们的手册页来了解更多详细信息:
macos 通过 curl 和 wget 获取结果 保存为一个字符串示例
在 macOS 中,如果你想通过 curl
或 wget
获取网络数据并将其保存为一个字符串变量,你可以使用 shell 的特性来实现。这里是如何做到这一点的示例:
bash深色版本1 result=$(curl -s 'http://example.com') 2 echo "$result"
在这个例子中,curl -s 'http://example.com'
命令会被执行,并且 -s
选项会告诉 curl
在执行时不输出任何进度信息,只返回数据。$(command)
是 bash 中的命令替换语法,它会执行括号中的命令并将输出结果存储为字符串。然后这个字符串被赋值给变量 result
。
对于 wget
,你可能需要先将输出重定向到一个临时文件,然后再读取这个文件到变量中,因为 wget
不像 curl
那样直接支持命令替换语法。但是,从 macOS Catalina (10.15) 开始,wget
已经更新到了一个更现代的版本,该版本支持管道操作。因此,现在也可以直接使用管道来完成类似的操作:
bash深色版本1 result=$(wget -qO- 'http://example.com') 2 echo "$result"
这里 -q
选项使 wget
运行时保持安静模式,不显示进度条等信息;-O-
指定输出到标准输出而不是文件。同样地,$(command)
将命令的输出结果存储在 result
变量中。
然而,如果使用的是旧版本的 wget
,则可以这样操作:
bash深色版本1 wget -qO temp_file 'http://example.com' 2 result=$(cat temp_file) 3 rm temp_file 4 echo "$result"
在这个例子中,wget
的输出被重定向到一个名为 temp_file
的临时文件中,然后使用 cat
命令将文件内容读取到变量 result
中。最后,临时文件被删除。但是,使用现代的 wget
版本,第一种方法更为简洁和高效。