2016-07-29 2 views
0

Я пытаюсь использовать HTTPclient для отправки на сторонний api и получить ответ. Я могу отправить сообщение в api, но проблема, с которой я сталкиваюсь, заключается в том, что api требует, чтобы programid был числовым. Всякий раз, когда я пытаюсь опубликовать этот код, он бросает его обратно, говоря мне, чтобы сделать programid числовым.Как отправить числовое значение в C#

Я в растерянности относительно того, как послать числовой через C# /. Чистой пост

using (var client = new HttpClient()) 
{ 
    var values = new Dictionary<string, string> 
    { 
     { "accesstoken", authtoken }, 
     { "programid", programid}, 
     { "email", person.Email }, 
     { "thirdparty1", person.ID.ToString() } 
    }; 

    var content = new FormUrlEncodedContent(values); 
    var response = client.PostAsync("url", content); 
    var responseString = response.Result.Content.ReadAsStringAsync(); 
} 
+2

Что такое тип и значение 'programid'? Также вы правильно его обложили, если клиентский api, который вы отправляете на него, чувствителен к регистру на входе? – Igor

+0

http://stackoverflow.com/questions/1056121/how-to-create-json-string-in-c-sharp – Griffin

+0

прямо сейчас тип - это строка в C#, но значение равно 192926. Api ожидает числовую стоимость. но у меня возникли проблемы с формированием значения как int и передачей его в formurlencodedurl – johnlxc

ответ

0

может быть WebClient?

using (var client = new WebClient()) 
      { 
       var values = new Dictionary<string, string> 
    { 
     { "accesstoken", authtoken }, 
     { "programid", programid.ToString()}, 
     { "email", person.Email }, 
     { "thirdparty1", person.ID.ToString() } 
    }; 

       var param = string.Join("&", values.Select(x => x.Key + "=" + x.Value).ToArray()); 

       client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
       string HtmlResult = client.UploadString(URI, "POST", param); 
      } 

просто убедитесь, что вы не передаете какие-либо смешные URL-адреса маршрутизации? или &