Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有任何理由对帖子正文执行完整的URL编码_C#_Windows_Http - Fatal编程技术网

C# 是否有任何理由对帖子正文执行完整的URL编码

C# 是否有任何理由对帖子正文执行完整的URL编码,c#,windows,http,C#,Windows,Http,我目前正在开发一个C#WinForms应用程序,它可以调用几个远程web服务。在调查一个与包含符号的字符串相关的bug时,我遇到了以下方法,该方法为另一个web服务“编码”帖子正文(无可否认,它没有符号问题) 我在这里做了一点WTF,但是我想,在帖子主体上执行完整的URL编码有实际的原因吗?当然,仅有的两个风险点是符号和问号?这个问题有点片面。对POST数据进行编码的唯一原因是另一方是否希望对其进行编码。e、 g.如果post数据的内容类型是“x-www-form-urlencoded”,那么,

我目前正在开发一个C#WinForms应用程序,它可以调用几个远程web服务。在调查一个与包含符号的字符串相关的bug时,我遇到了以下方法,该方法为另一个web服务“编码”帖子正文(无可否认,它没有符号问题)


我在这里做了一点WTF,但是我想,在帖子主体上执行完整的URL编码有实际的原因吗?当然,仅有的两个风险点是符号和问号?

这个问题有点片面。对POST数据进行编码的唯一原因是另一方是否希望对其进行编码。e、 g.如果post数据的内容类型是“x-www-form-urlencoded”,那么,是的,您需要对数据进行url编码。如果另一方不希望它被URL编码,那么不要


通常,您不需要对发送到web服务的数据进行URL编码,因为您有灵活的端点。如果您有一个web服务,它希望直接从网页(例如通过表单帖子)调用,那么url编码可以由浏览器直接完成——在这种情况下,web服务需要接受url编码(以及其他任何想要与之通信的内容)。

任何包含url的HTTP,通常需要进行URL编码。另外,使用UTF-8字符编码…和百分比字符。。。我只会遵守规范。
object o = row.Values[i]; //some object
Type valueType = o.GetType();
if (valueType.Name.Equals("String", StringComparison.InvariantCultureIgnoreCase))
{
    o = o.ToString().Replace("&", "%26");
}