2

POST リクエストに次の文字列があります。

"signature=bI�(��0�P���h;"

WebResponse私のクラスはそれを送信したくないので、今、私はそれをエンコードしたいと思います。を使用してみHttpUtility.HtmlEncode()ましたが、そのメソッドは連携したくありません (つまり、文字列はそのまま残ります)。

httpを通過するように、これらの奇妙な文字をエンコードするにはどうすればよいですか?

編集:わかりましたnvm、意図したとおりに機能する.UrlEncode()というメソッドもあることがわかりました。

4

3 に答える 3

4

.NET には URL エンコードもあります: http://msdn.microsoft.com/en-us/library/zttxte6w.aspxまたは HttpUtility.UrlEncode を参照してください。

于 2013-02-27T23:17:17.973 に答える
2

を使用できますHttpUtility.UrlEncode

HttpUtility.UrlEncode- URL エンコードにより、すべてのブラウザーが URL 文字列内のテキストを正しく送信できるようになります。クエスチョン マーク (?)、アンパサンド (&)、スラッシュ マーク (/)、およびスペースなどの文字は、一部のブラウザーで切り捨てられたり、破損したりする場合があります。その結果、これらの文字はタグまたはクエリ文字列でエンコードする必要があります。これらの文字列は、ブラウザーが要求文字列で再送信できます。

于 2013-02-27T23:18:16.250 に答える
1

「フォーム値として投稿する」ことを意味する場合、それはかなり標準的なことです。ライブラリコンポーネントにそれを心配させないでください:

using (var client = new WebClient())
{
   var vals = new NameValueCollection();
   vals["signature"] = yourString;
   // other form inputs here...
   client.UploadValues(url, "post", vals);
}
于 2013-02-27T23:20:19.100 に答える