全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

小红书短链接怎么还原php_提取分享文案中的链接参数【方法】

小红书短链(如xhslink.com/abc123)是302跳转,最终指向含笔记ID等参数的完整URL;PHP需用cURL开启CURLOPT_FOLLOWLOCATION并获取CURLINFO_EFFECTIVE_URL才能正确还原。

小红书短链接结构是怎样的?

小红书分享文案里的短链(如 https://xhslink.com/abc123)本质是 302 跳转,最终指向带完整参数的笔记页 URL。直接访问短链会触发重定向,但 PHP 中默认的 file_get_contents()curl_exec() 不会自动跟随跳转,所以拿不到最终 URL —— 这是还原失败最常见的原因。

关键参数藏在跳转后的 URL query string 里,典型结构类似:
https://www.xiaohongshu.com/explore/xxxxxx?xhsshare=xxx&app_platform=android&app_version=8.93.0&share_from_user_hidden=true&xhss=xxx

其中 explore/xxxxxx 后面那段 ID 就是笔记唯一标识符(俗称“笔记ID”),其余如 app_platformshare_from_user_hidden 是渠道或埋点参数,通常可忽略。

用 cURL 获取重定向最终 URL(推荐)

PHP 最可靠的方式是配置 cURL 请求头并启用跳转跟踪,同时只获取响应头(不下载页面内容),提升速度和稳定性。

  • 必须设置 CURLOPT_FOLLOWLOCATIONtrue,否则卡在第一次 302
  • 禁用 CURLOPT_RETURNTRANSFER 或配合 CURLOPT_HEADER + CURLOPT_NOBODY,避免拉取整页 HTML
  • 加上 User-Agent,部分短链服务会拦截无 UA 的请求
  • 注意:某些短链可能跳转多次(例如 xhslink → xiaohongshu.com → 带参数的 explore 页面),CURLOPT_MAXREDIRS 建议设为 5
function getRealXHSUrl($shortUrl) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $shortUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); // 不要 body
    curl_setopt($ch, CURLOPT_HEADER, true);           // 只要 header
    curl_setopt($ch, CURLOPT_NOBODY, true);           // 不取 body
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);

    ob_start();
    curl_exec($ch);
    $headers = ob_get_clean();
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $finalUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    curl_close($ch);

    if ($httpCode >= 300 && $httpCode < 400 || $httpCode === 200) {
        return $finalUrl;
    }
    return null;
}

// 示例调用
$real = getRealXHSUrl('https://xhslink.com/ABcDeF');
echo $real; // 输出类似 https://www.xiaohongshu.com/explore/65a1b2c3d4e5f67890123456?xhsshare=...

从最终 URL 提取笔记 ID 和关键参数

得到 https://www.xiaohongshu.com/explore/65a1b2c3d4e5f67890123456?xhsshare=... 后,笔记 ID 就是 explore/ 后面那一串 24 位十六进制字符串(MongoDB ObjectId 格式)。其他参数如 xhsshareshare_from_user_hidden 可用 parse_url() + parse_str() 拆解。

  • 笔记 ID 正则建议用:/\/explore\/([0-9a-f]{24})/i,注意大小写不敏感
  • 不要依赖 parse_url($url, PHP_URL_PATH) 后再 explode,因为路径可能含中文或特殊字符(极少数情况)
  • 如果最终 URL 是 https://www.xiaohongshu.com/discovery/item/...(新版发现页),ID 位置不同,需额外判断
$url = 'https://www.xiaohongshu.com/explore/65a1b2c3d4e5f67890123456?xhsshare=abc123&app_platform=ios';
$matches = [];
if (preg_match('/\/explore\/([0-9a-f]{24})/i', $url, $matches)) {
    $noteId = $matches[1]; // "65a1b2c3d4e5f67890123456"
    
    $parsed = parse_url($url);
    parse_str($parsed['query'], $params);
    $xhsshare = $params['xhsshare'] ?? null; // "abc123"
    $platform = $params['app_platform'] ?? null; // "ios"
}

绕过跳转的替代方案(不推荐但有时有效)

部分小红书短链支持 HEAD 请求直接返回 Location 头,不用走完整 GET 流程。但 xhslink.com 近期已限制 HEAD,多数情况下返回 405 或空 Location —— 所以不能作为主力方案,仅作 fallback。

  • 若 cURL 被墙或超时,可尝试加代理(CURLOPT_PROXY),但需注意代理稳定性
  • 批量处理时务必加延迟(usleep(300000)),高频请求会被封 IP 或返回 429
  • 别用 get_headers():它底层不保证跟随跳转,PHP 版本差异大,行为不可控

真正稳定还原的关键,不是“怎么快”,而是“怎么让服务端把跳转链完整吐出来”。cURL 的 CURLINFO_EFFECTIVE_URL 是目前最接近“真实终点”的 PHP 原生能力。


# php  # html  # android  # go  # mongodb  # app  # iphone  # ssl  # mac  # curl  # proxy  # String 


相关文章: 如何快速搭建高效简练网站?  如何通过PHP快速构建高效问答网站功能?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  建站主机系统SEO优化与智能配置核心关键词操作指南  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何在新浪SAE免费搭建个人博客?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  建站VPS选购需注意哪些关键参数?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  ,制作一个手机app网站要多少钱?  建站之星官网登录失败?如何快速解决?  代刷网站制作软件,别人代刷火车票靠谱吗?  上海网站制作开发公司,上海买房比较好的网站有哪些?  MySQL查询结果复制到新表的方法(更新、插入)  平台云上自助建站如何快速打造专业网站?  如何在服务器上三步完成建站并提升流量?  模具网站制作流程,如何找模具客户?  建站主机如何选?高性价比方案全解析  在线制作视频的网站有哪些,电脑如何制作视频短片?  c# 在ASP.NET Core中管理和取消后台任务  定制建站模板如何实现SEO优化与智能系统配置?18字教程  在线制作视频网站免费,都有哪些好的动漫网站?  如何选择香港主机高效搭建外贸独立站?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  深圳网站制作案例,网页的相关名词有哪些?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  建站之星在线客服如何快速接入解答?  网站制作公司排行榜,抖音怎样做个人官方网站  如何打造高效商业网站?建站目的决定转化率  定制建站是什么?如何实现个性化需求?  如何通过宝塔面板实现本地网站访问?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  微信小程序 input输入框控件详解及实例(多种示例)  如何高效配置香港服务器实现快速建站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何确保FTP站点访问权限与数据传输安全?  如何在Windows服务器上快速搭建网站?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  如何在阿里云虚拟服务器快速搭建网站?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何快速搭建二级域名独立网站?  如何通过商城自助建站源码实现零基础高效建站?  如何在景安服务器上快速搭建个人网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  如何在VPS电脑上快速搭建网站?  如何正确下载安装西数主机建站助手?  建站之星多图banner生成与模板自定义指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。