2017-08-01 511 views
2

目前我将信息传递到Web API,可以通过curl命令如下:发送POST请求

curl -d 'info={ "EmployeeID": [ "1234567", "7654321" ], "Salary": true, "BonusPercentage": 10}' http://example.com/xyz/php/api/createjob.php 

这将另一个URL回到我的API在这里张贴的所有信息那边:

http://example.com/xyz#newjobapi:id=19

我想通过一个C#Windows窗体凡在用户输入所需信息,一旦他们提出,他们应该得到返回的URL复制这一过程。

我已经创建了用户输入此信息的界面。但我不知道如何发布此信息到Web API并获取生成的URL

有没有任何库,我可以用来通过Windows窗体复制上述卷曲过程?

+0

你可以HttpClient类 –

回答

1
 HttpWebRequest webRequest; 

     string requestParams = ""; //format information you need to pass into that string ('info={ "EmployeeID": [ "1234567", "7654321" ], "Salary": true, "BonusPercentage": 10}'); 

       webRequest = (HttpWebRequest)WebRequest.Create("http://example.com/xyz/php/api/createjob.php"); 

       webRequest.Method = "POST"; 
       webRequest.ContentType = "application/json"; 

       byte[] byteArray = Encoding.UTF8.GetBytes(requestParams); 
       webRequest.ContentLength = byteArray.Length; 
       using (Stream requestStream = webRequest.GetRequestStream()) 
       { 
        requestStream.Write(byteArray, 0, byteArray.Length); 
       } 

       // Get the response. 
       using (WebResponse response = webRequest.GetResponse()) 
       { 
        using (Stream responseStream = response.GetResponseStream()) 
        { 
         StreamReader rdr = new StreamReader(responseStream, Encoding.UTF8); 
         string Json = rdr.ReadToEnd(); // response from server 

        } 
       }