ここでは、適切な方法(ParseQueryStringメソッドを使用して)です:
using System;
using System.Web;
class Program
{
static void Main()
{
var query = "?method=createimage&chart1=https://chart.googleapis.com/chart?chs=250x100&chd=t:60,40&cht=p3&chl=Hello|World";
var values = HttpUtility.ParseQueryString(query);
Console.WriteLine(values["method"]);
Console.WriteLine(values["chart1"]);
}
}
、あなたは、このクエリ文字列構築したい場合:
using System;
using System.Web;
class Program
{
static void Main()
{
var values = HttpUtility.ParseQueryString(string.Empty);
values["method"] = "createimage";
values["chart1"] = "https://chart.googleapis.com/chart?chs=250x100&chd=t:60,40&cht=p3&chl=Hello|World";
Console.WriteLine(values);
// prints "method=createimage&chart1=https%3a%2f%2fchart.googleapis.com%2fchart%3fchs%3d250x100%26chd%3dt%3a60%2c40%26cht%3dp3%26chl%3dHello%7cWorld"
}
}
ああ、途中で、何を示していますあなたの質問では、私が示している2番目のコードスニペットの出力によって確認される無効なクエリ文字列です。 chart1
パラメータをURLエンコードする必要があります。クエリー文字列に複数の文字がある場合は、すべての標準に対して絶対に反対です。それはreserved charactersが含まれているとして、あなたは、あなたのクエリ文字列にURLをURLエンコードする必要があり
?method=createimage&chart1=https%3A%2F%2Fchart.googleapis.com%2Fchart%3Fchs%3D250x100%26chd%3Dt%3A60%2C40%26cht%3Dp3%26chl%3DHello%7CWorld
ハ!ありがとう。それよりも難しいと思った。私はまずそれを試しておくべきだった。あなたの助けをありがとう!多くの感謝。 –