如何在c#中的ajax post请求中传递json body(对于API) [英] How to pass json body in ajax post request in c# (for API )

查看:1016
本文介绍了如何在c#中的ajax post请求中传递json body(对于API)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经开发了快递跟踪系统,

我必须只插入跟踪号码并且它检测到快递,

之后我必须将json身体传递给后快递,

任何人都可以建议???

解决方案将非常值得一提并提前感谢..



以下是以下代码.. :(





I have developed courier tracking system,
in i have to insert only tracking number and it detects courier,
After that i have to pass json body to post courier ,
Can any one suggest regarding that???
Solutions will be highly appreciable and thanks in advance..

Here is the code below.. :(


 if (TrackingNumber != "")
                {

                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.aftership.com/v3/trackings);
                    request.ContentType = "application/json";
                    request.Method = "POST";
                    request.Headers.Add("aftership-api-key:*************************");
                
                    
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                    if (response.StatusCode == HttpStatusCode.OK)
                    {

                        Stream receiveStream = response.GetResponseStream();
                        StreamReader readStream = null;

                        if (response.CharacterSet == "")
                            readStream = new StreamReader(receiveStream);
                        else
                            readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
                        //  List<string> list = new List<string>();
                        string data = readStream.ReadToEnd();
.
.
.
.
.





我想通过这样的json身体...... :(





And i want to pass json body like this... :(

{
    "tracking": {
        "slug": "dhl",
        "tracking_number": "123456789",
        "title": "Title Name",
    }
}





这里只有tracking_number是强制性,否则所有字段都是可选的.....:(



Here only tracking_number is mandatory ,else all fields are optional..... :(

推荐答案

我已经解决了我自己.. :)



i have solved it my self.. :)

try
       {

           var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.aftership.com/v3/trackings");

           httpWebRequest.Method = "POST";

           httpWebRequest.Headers.Add("aftership-api-key:********fdbfd93980b8c5***");
           httpWebRequest.ContentType = "application/json";
           using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
           {

               string json = "{" + "\"tracking\": {" +"\"slug\":\""+Courier+"\","+"\"tracking_number\":\""+trackNumber+"\"}}";

               streamWriter.Write(json);
               streamWriter.Flush();
               streamWriter.Close();

               var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
               using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
               {
                   var result = streamReader.ReadToEnd();
               }
           }


       }
       catch
       {

       }


这篇关于如何在c#中的ajax post请求中传递json body(对于API)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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