示例demo:控制台程序和部署本地接口
1.
部署本地接口,供测试请求数据
webapi程序:
public class HomeController : Controller
{
public ActionResult Index(string name)
{
return Content(name);
}
[HttpPost]
public ActionResult postreturn(demo demo)
{
return Content(demo.code+" "+demo.id);
}
}
public class demo
{
public string code { get; set; }
public string id { get; set; }
}
2.
控制台程序
static void Main(string[] args)
{
Console.Write(get());
Console.ReadLine();
demo demo = new demo() { code = "123123", id = "id" };
string json = JsonConvert.SerializeObject(demo);
Console.Write(HttpPost("http://localhost:8848/home/postreturn", json));
Console.ReadLine();
}
public static string get()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:8848/home/index?name=sss");
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
public static string HttpPost(string url, string postDataStr)
{
string strReturn;
byte[] byteData = Encoding.UTF8.GetBytes(postDataStr);
HttpWebRequest resquest = (HttpWebRequest)WebRequest.Create(url);
resquest.Method = "POST";
resquest.ContentType = "application/json";
resquest.ContentLength = byteData.Length;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
using (Stream resquestStream = resquest.GetRequestStream())
{
resquestStream.Write(byteData, 0, byteData.Length);
}
string authorization = "A81FB7745D098233F42365EB3F27AD6AD0590A5BF6BA5277B3470B7B2B97DB1AB49A3F969C40A03677BB1AAEB67F9B2DB83C28367A983F3CE0BD27A269276BC1A6CCEA83A1C6164FE741D82459777F85B0D5936F03175315AF7E7CA412FBAA474A702A4636490D18557418DE71A25B7F6EFDD9B8D00E77D92803E60BFA9E93245A073360D84EC7A251C9EEA0FBA40225D58B1EC2FE2A9C1CDC69ADFD12C40676AA7D7B1A3481ABB7AD274658E3532726AA187FABBB5D8B196A51EB313BFCC60632A5";
resquest.Headers.Add("Authorization", authorization);
using (WebResponse response = resquest.GetResponse())
{
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
strReturn = reader.ReadToEnd();
reader.Close();
reader.Dispose();
}
return strReturn;
}
}
public class demo
{
public string code { get; set; }
public string id { get; set; }
}