返回博客

小红书 API 接入教程(C#/.NET):用 HttpClient 跑通第一个请求

Rnote API 团队 · · 42 次阅读 · English
小红书数据 API教程 C#

这篇教程带你用 C#(.NET)接入小红书(RedNote / Xiaohongshu)数据接口。无需自建爬虫——Rnote API 已经把采集基础设施备好,你用 .NET 内置的 HttpClient 发一个带 X-API-Key 头的 GET 请求即可。也可参考 PythonNode.jsGoJavaPHP 版本。

第一步:注册获取 API Key

前往注册页创建账户并验证邮箱,获取免费额度与 API Key。

第二步:发起第一个请求

.NET 6+ 顶级语句 + 内置 HttpClient,无需第三方依赖:

using System.Net.Http;
using System.Web;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");

var query = HttpUtility.UrlEncode("美食推荐");
var url = $"https://rnote.dev/api/v2/crawler/search/notes?keyword={query}&page=1";

var resp = await client.GetAsync(url);
Console.WriteLine((int)resp.StatusCode);
Console.WriteLine(await resp.Content.ReadAsStringAsync());

跑通后,把端点换成 note/image(图文详情)、user/info(博主信息)等即可,参数说明见接口文档

第三步:封装一个带重试的调用

using System.Net;
using System.Web;

static readonly HttpClient Http = new();

static async Task<string> Call(string path, Dictionary<string, string> p, int retries = 3)
{
    var qs = string.Join("&", p.Select(kv =>
        $"{kv.Key}={HttpUtility.UrlEncode(kv.Value)}"));
    var url = $"https://rnote.dev/api/v2/crawler/{path}?{qs}";

    for (var i = 0; i < retries; i++)
    {
        using var req = new HttpRequestMessage(HttpMethod.Get, url);
        req.Headers.Add("X-API-Key", "YOUR_API_KEY");
        var resp = await Http.SendAsync(req);
        if (resp.StatusCode == HttpStatusCode.OK)
            return await resp.Content.ReadAsStringAsync();
        await Task.Delay((int)Math.Pow(2, i) * 1000); // 指数退避
    }
    throw new Exception("请求多次失败");
}

仅成功请求(HTTP 2xx)扣费,失败重试不额外计费,所以可以放心加重试逻辑。

计费与额度

按请求计费、无月费、无最低消费;注册即送免费额度。充值方式与当前优惠见定价页

下一步

免费注册,现在就用 C# 发出你的第一个请求。