欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

macos 通过 curl 和 wget 获取结果示例 通义 chatgpt 有大用

macos 通过 curl 和 wget 获取结果示例 

在 macOS 中,curlwget 都是非常有用的命令行工具,用于从网络上获取文件或数据。下面是使用这两个工具的一些示例。

使用 curl

  1. 获取网页内容:

    bash
    深色版本
    1    curl http://example.com
  2. 保存网页到本地文件:

    bash
    深色版本
    1    curl -o output.html http://example.com
  3. 发送 POST 请求:

    bash
    深色版本
    1    curl -X POST -d "param1=value1&param2=value2" http://example.com
  4. 添加请求头:

    bash
    深色版本
    1    curl -H "Content-Type: application/json" -H "Authorization: Bearer your_token" http://example.com/api/resource
  5. 上传文件:

    bash
    深色版本
    1    curl -T localfile.txt ftp://username:password@yourserver.com/remote/path/
  6. 使用 SSL/TLS 证书验证:

    bash
    深色版本
    1    curl --cacert /path/to/cacert.pem https://secure.example.com

使用 wget

  1. 下载文件:

    bash
    深色版本
    1    wget http://example.com/file.zip
  2. 递归下载整个网站(注意这可能会下载大量数据):

    bash
    深色版本
    1    wget -r http://example.com
  3. 使用代理服务器:

    bash
    深色版本
    1    export http_proxy=http://proxyserver:port
    2    wget http://example.com
  4. 模拟浏览器:

    bash
    深色版本
    1    wget --user-agent="Mozilla/5.0" http://example.com
  5. 断点续传:

    bash
    深色版本
    1    wget --continue http://example.com/largefile.iso
  6. 限制下载速度:

    bash
    深色版本
    1    wget --limit-rate=50k http://example.com/largefile.iso

这些只是基本的用法示例。curlwget 都有非常丰富的功能和选项,你可以通过它们的手册页来了解更多详细信息:


macos 通过 curl 和 wget 获取结果 保存为一个字符串示例

在 macOS 中,如果你想通过 curlwget 获取网络数据并将其保存为一个字符串变量,你可以使用 shell 的特性来实现。这里是如何做到这一点的示例:

使用 curl

bash
深色版本
1    result=$(curl -s 'http://example.com')
2    echo "$result"

在这个例子中,curl -s 'http://example.com' 命令会被执行,并且 -s 选项会告诉 curl 在执行时不输出任何进度信息,只返回数据。$(command) 是 bash 中的命令替换语法,它会执行括号中的命令并将输出结果存储为字符串。然后这个字符串被赋值给变量 result

使用 wget

对于 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 版本,第一种方法更为简洁和高效。


普通分类: