我发现结果$ request.ContentType是使用char []和String。
的区别$ request = [System.Net.HttpWebRequest] .create($ URL)
$request.ContentType = [char[]] "application/x-www-url-formurlened" $request.ContentType = "application/x-www-url-formurlened"
如果我使用char []和string发出了类似的请求,那么到服务器端的实际输出有什么不同?
令人困惑......我想它应该是相同的
感谢
答案 0 :(得分:5)
我想我发现了这个问题。看看这个:
PS D:\> $foo = "bar"
PS D:\> $foo
bar
PS D:\> $faz = [string][char[]]"baz"
PS D:\> $faz
b a z
Powershell会将char[]
投射到string
,因为HttpRequest.ContentType
的类型为string
,但是当Powershell将数组转换为字符串时,它会插入一个值{每个元素之间的特殊变量$OFS
。 about_special_variables的帮助包含有关$OFS
(以及其他内容)的信息。 $OFS
的默认值是一个解释此行为的空格。
(感谢BartekB在评论中指出$ OFS。)