为什么不发送HttpClient后请求“参数”? [英] Why doesn't send HttpClient post Request “Parameter” ?

查看:116
本文介绍了为什么不发送HttpClient后请求“参数”?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将请求成功发送到服务器,然后服务器检查该参数是否为null。现在任何人都可以说我有什么问题,我应该怎么做。请帮助我,先生感谢。

Post request hit to server successfully, then server check the parameter it says null. Now anybody can say what wrong with me and what should i do..PLEASE HELP ME, THANKS IN ADVANCED.

client = new HttpClient();
                    client.DefaultRequestHeaders.Add("User-Agent", "RingtoneApplication");
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.BaseAddress = new Uri("http://192.168.137.242/");
                    HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, "new_ringtone");              
                    Object[] postDataObject= CreateData();
                    string postDataJson = JsonConvert.SerializeObject(postDataObject);
                    string tokenData = CreateToken(postDataJson, "123");
                    string parameters = "method=getRintoneCategories&data=" + postDataJson + "&token=" + tokenData;
                    string jsonData = JsonConvert.SerializeObject(parameters);
                    req.Content = new StringContent(parameters, Encoding.UTF8, "application/json");
    
                    client.SendAsync(req).ContinueWith(respTask =>
                    {
                        Debug.WriteLine("Response: {0}", respTask.Result);
                    });

推荐答案

client = new HttpClient();
                    client.DefaultRequestHeaders.Add("User-Agent", "RingtoneApplication");
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    Object[] dataObj = CreateData();
                    string dataString = JsonConvert.SerializeObject(dataObj);
                    var values = new List<KeyValuePair<string, string>>();
                    values.Add(new KeyValuePair<string, string>("data", dataString));
                    values.Add(new KeyValuePair<string, string>("method", "getRintoneCategories"));
                    string token = CreateToken(dataString, "123");
                    values.Add(new KeyValuePair<string, string>("token", token));
                    var content = new FormUrlEncodedContent(values);
                    var response = await client.PostAsync("http://192.168.0.103/new_ringtone/", content);
                    responseString = await response.Content.ReadAsStringAsync();


这篇关于为什么不发送HttpClient后请求“参数”?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆