在MVC控制器中的使用方式
get方式:
public class HomeController : Controller
{
public ActionResult Index()
{
HttpClient client = new HttpClient(); //创建一个HttpClient对象实例
//通过httpclient请求 https://www.cnblogs.com/qqhfeng/p/10502042.html页面的HTML字符串
var tstr = client.GetStringAsync("https://www.cnblogs.com/qqhfeng/p/10502042.html");
var html = tstr.Result;//得到httpclient请求结果
return View();
}
}
post方式:
namespace MyWeb.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
string urlAdderss = "http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card";//接口地址
HttpClient hc = new HttpClient();
List<KeyValuePair<string, string>> kv = new List<KeyValuePair<string, string>>();//赋值接口参数
kv.Add(new KeyValuePair<string, string>("uin", "2694541537"));
//或者使用字典
//Dictionary<string, string> kv = new Dictionary<string, string>();
//kv["userName"] = "admin";
//kv["password"] = "123456";
FormUrlEncodedContent content = new FormUrlEncodedContent(kv);
//因为FormUrlEncodedContent类是继承自HttpContent的,所以第二个参数可以用FormUrlEncodedContent类对象替代
var msg = hc.PostAsync(urlAdderss, content).Result;
var responseStatusCode = msg.StatusCode;//响应码
var responseHeaders = msg.Headers;//响应报文头
var responseContent = msg.Content; //响应报文体
var responseResultMsg = msg.Content.ReadAsStringAsync().Result; //返回结果转String
ViewBag.msg = responseResultMsg;
return View();
}
}
}
了解些其他:什么是HTTPClient?
HTTPClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,目前最新版本是HttpClient 4.5 .6(2015-09-11)。功能:1.实现了所有的Http的方法(get、post、put、Head等方法)2.支持自动转向 3.支持HTTPS协议 4.支持代理服务器等
JSON是什么:是一种轻量级的数据交换格式;同js来说,JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。