gpt4 book ai didi

c# - 正确转义 URI 以在 HttpClient.PostAsync 中使用需要什么?

转载 作者:可可西里 更新时间:2023-11-01 16:56:16 29 4
gpt4 key购买 nike

HttpClient.PostAsync() 的大多数重载允许传入字符串或 URI。但是有些重载(在 Formatting 命名空间中) 只允许一个字符串。为了使用它,我构建并使用了一个 URI 字符串,例如:

string uri = "http://myserver.com/" + userSuppliedName + "/dosomething/";
client.PostAsync(uri, someObject, formatter);

我现在担心的是 userSuppliedName 可能是无效的或恶意的,所以我想确保它被正确转义。在 System.Uri 的文档中,它声明默认情况下传入的字符串将被正确转义,但由于我使用的 PostAsync 方法仅支持字符串 URI ,我想检查一下:它会自动正确转义吗?如果不是,我是否应该在构造 string uri 时转义 userSuppliedName

最佳答案

使用Uri.EscapeDataString()

string uri = "http://myserver.com/" + Uri.EscapeDataString(userSuppliedName) + "/dosomething/";
client.PostAsync(uri, someObject, formatter);

关于c# - 正确转义 URI 以在 HttpClient.PostAsync 中使用需要什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22498740/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com