1

我想使用另一种协议,而不是http(s)://特别想构建一个以开头vrchat://但由于某种原因它总是杀死第二个的 URL/

        var url = "vrchat://".AppendPathSegment("launch");
        if (!string.IsNullOrWhiteSpace(innerString)) {
            url.SetQueryParam("id", innerString, true);
        }
        //url.SetQueryParam("ref", "vrchat.com");
        Console.WriteLine("Connecting to {0}", url);

结果是

Connecting to vrchat:/launch?id=wrld_b805006c-bec7-4179-958a-5a9351e48d5c
4

1 回答 1

1

您实际上并没有在此处附加路径段,而是在附加authorityAppendPathSegment过普通的旧字符串连接的主要行为是编码并确保/段之间只有 1 个且只有 1 个字符,这很可能导致您看到的内容。您不希望或不需要这些行为,因此(假设权限是可变的)只需使用字符串连接:

var url = "vrchat://" + authority;
// or
var url = $"vrchat://{authority}";
于 2018-09-14T17:22:31.097 回答