You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Bitbucket Server迁移至Bitbucket.org后C#调用Atlassian.Stash报解析错误

报错根因

你遇到的Unexpected character encountered while parsing value: <. Path '', line 0, position 0错误,本质是API请求返回的内容为HTML页面而非预期的JSON格式,JSON解析器读取到HTML开头的<字符时无法处理,直接抛出异常。
触发该问题的核心原因是你使用的依赖和云服务不兼容:

  • Atlassian.Stash是专门适配Bitbucket Server(原名为Stash) 的C# API封装库,而你迁移后的Bitbucket.org是云版本Bitbucket,二者的API路径、认证规则、响应结构完全不通用。
  • Bitbucket Server的API基准路径为/rest/api/1.0/这类格式,Bitbucket Cloud的API基准路径为/2.0/,用旧的Server端客户端请求云服务,接口要么返回404页面,要么返回权限验证失败的HTML页面,无法被JSON解析器识别。
临时排查方式

你可以在catch块中捕获HTTP响应的完整原始内容,或者通过抓包工具获取请求返回的HTML内容,即可快速确认是路径错误还是认证权限错误。

解决方案
  1. 替换依赖包:弃用仅适配Server端的Atlassian.Stash,改用适配Bitbucket Cloud的C# SDK,若自行封装HTTP请求,需要适配云版本的API规范,注意选择支持.NET Framework 4.8的依赖版本。
  2. 调整认证逻辑:Bitbucket Cloud已经不支持直接使用账号密码调用API,需要创建应用密码搭配账号使用,或者切换为OAuth2认证方式,原有直接传账号密码的逻辑已失效。
  3. 调整业务代码:Bitbucket Cloud的提交记录查询接口的传参规则、返回结构和Server端完全不同,原有针对Server端的实体类、响应封装类无法直接复用,需要按照云版本的接口规范重新调整代码逻辑。

内容的提问来源于stack exchange,提问作者mik1971

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:54:06