<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Curl on CAO ZUOHUA</title><link>https://caozuohua.github.io/tags/curl/</link><description>Recent content in Curl on CAO ZUOHUA</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 14 Sep 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://caozuohua.github.io/tags/curl/index.xml" rel="self" type="application/rss+xml"/><item><title>curl 不止是下载工具：AI 与 Agent 开发中的十二类实战场景</title><link>https://caozuohua.github.io/posts/2026-09-14-curl-in-ai-agent-development/</link><pubDate>Mon, 14 Sep 2026 10:00:00 +0800</pubDate><guid>https://caozuohua.github.io/posts/2026-09-14-curl-in-ai-agent-development/</guid><description>&lt;h1 id="curl-不止是下载工具ai-与-agent-开发中的十二类实战场景"&gt;curl 不止是下载工具：AI 与 Agent 开发中的十二类实战场景&lt;/h1&gt;&#10;&lt;p&gt;多数人学 curl 的第一课是&amp;quot;下载文件&amp;quot;，此后便把它归类为 wget 的同类。但在 AI 与 Agent 工程中，curl 的角色完全不同：它是唯一一个&lt;strong&gt;在协议层完全透明、零依赖、可在任何环境逐字复现&lt;/strong&gt;的 HTTP 客户端。当需要回答&amp;quot;这个模型接口到底返回了什么&amp;quot;&amp;ldquo;延迟究竟卡在哪一段&amp;quot;&amp;ldquo;Agent 的工具调用为什么静默失败&amp;quot;时，curl 往往比任何 SDK 都更快给出答案——因为它不隐藏任何东西。&lt;/p&gt;&#10;&lt;p&gt;本文以 curl 8.22.0（2026-09-02 发布，第 276 个版本，命令行选项累计 278 个）为基线，梳理十二类高频场景。所有命令均可直接粘贴执行，只需替换端点与凭据。&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="一llm-接口调试的四个基本动作"&gt;一、LLM 接口调试的四个基本动作&lt;/h2&gt;&#10;&lt;h3 id="11-最小可复现调用"&gt;1.1 最小可复现调用&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;--json&lt;/code&gt;（7.82.0 引入）是单次调用最省事的写法，它等价于同时做三件事：把数据作为 &lt;code&gt;--data-binary&lt;/code&gt; 发送、设置 &lt;code&gt;Content-Type: application/json&lt;/code&gt;、设置 &lt;code&gt;Accept: application/json&lt;/code&gt;。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -sS https://api.deepseek.com/chat/completions &lt;span style="color:#ae81ff"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#34;Authorization: Bearer &lt;/span&gt;$DEEPSEEK_API_KEY&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --json &lt;span style="color:#e6db74"&gt;&amp;#39;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;model&amp;#34;: &amp;#34;deepseek-chat&amp;#34;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;messages&amp;#34;: [{&amp;#34;role&amp;#34;: &amp;#34;user&amp;#34;, &amp;#34;content&amp;#34;: &amp;#34;只回复 OK&amp;#34;}],&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;temperature&amp;#34;: 0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; }&amp;#39;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -w &lt;span style="color:#e6db74"&gt;&amp;#39;\n[%{http_code} | %{time_total}s | %{size_download}B]\n&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;三点值得强调：&lt;/p&gt;</description></item></channel></rss>