簡體   English   中英

Http發布請求,在C#Windows Phone 8.1中不使用編碼參數

[英]Http Post request Without encoding parameters in C# Windows phone 8.1

我發出了一個用逗號分隔值的發布請求。 但是我的表單內容更改了,並且用“,”替換為“%2C”。 因此請求不會在服務器端收到。

我只想將“%2C”替換為“,”。

我嘗試使用不同的代碼,但是該代碼用於字符串。

   //Uri.EscapeDataString(formContent).Replace("%2C", ",");

上一行是用於字符串的,但對於FormContent,我也需要相同的字符串。

這是我的代碼。

         Windows.Web.Http.HttpClient clientOb = new Windows.Web.Http.HttpClient();
         Uri connectionUrl = new Uri("http://www.helloworld.com/istar/fileupload/Lip?");

        string framURL = UTCdatetime + "," + lng + "," + lat + "," + speed  + alt + "," + "," + battery_level + "," + accuracy;





        Dictionary<string, string> pairs = new Dictionary<string, string>();
        pairs.Add("name", Image_file_name);
        pairs.Add("frame", framURL);

       //Here is My Content Form. 
       Windows.Web.Http.HttpFormUrlEncodedContent formContent = new Windows.Web.Http.HttpFormUrlEncodedContent(pairs);

我正在對FormContent進行編碼。 喜歡

  {name=WP_20160224_002.jpg&frame=927858b101b71083f37549517819d6ac%2C20160225125928%2C%2C%2C%2C%2C%2C%2C100%2C%2C2%2C%2C%2C0}

我需要使用逗號發送請求,因此我想刪除“%2C”。 請幫助解決這個問題。

我需要像上面這樣的內容形式...

   {name=WP_20160224_002.jpg&frame=927858b101b71083f37549517819d6ac,20160225092908,74.253794,31.471193,-1,-1,0,,100,103,2,-1,0}

我在這里發送發帖請求。

    Windows.Web.Http.HttpResponseMessage response = await clientOb.PostAsync(connectionUrl, formContent);

您將表單編碼與URL編碼混淆了。 在您的示例中,幾乎不需要對該查詢字符串進行編碼。 表單和查詢字符串具有相似的key=value語法,但是格式有所不同。

您使用Uri類是正確的-但是您可以等到最后從字符串構造它,因為這將確保完全清除給定的字符串-請參閱Uri類MSDN文檔的備注部分。

這是一個未經測試的示例:

string framURL = UTCdatetime + "," + lng + "," + lat + "," + speed  + alt + "," + "," + battery_level + "," + accuracy;
Dictionary<string, string> pairs = new Dictionary<string, string>();
pairs.Add("name", Image_file_name);
pairs.Add("frame", framURL);
var queryString = String.Join("&", pairs.Select(kvp => kvp.Key + "=" + kvp.Value));
Uri connectionUrl = new Uri("http://www.helloworld.com/istar/fileupload/Lip?" + queryString);

讓我知道你是怎么辦的!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM