示例Post 调用 Post 调用,带Header你可能还需要
c# .net http Post请求 发送Json数据
c# .net http Post请求 发送Json数据_橙cplvfx-技术踩坑记-CSDN博客c# .net http Post请求 发送Json数据https://cplvfx.blog.csdn.net/article/details/121760580
string url = "http://baidu.com/api/AddUser";
string postData = $"UserName=Miaoming&Age=26";
Hashtable headht = new Hashtable();
headht.Add("UserTokenStr", "key123456");
string Res = HttpMethods.HttpPost(url, postData, headht);
Post 调用,不带Header
string url = "http://baidu.com/api/AddUser"; string postData = $"UserName=Miaoming&Age=26"; string Res = HttpMethods.HttpPost(url, postData);示例 Get调用 Get调用,带Header
int ID=123;
string url = "http://baidu.com/api/GetUser?ID=" + ID + "&age=16";
Hashtable headht = new Hashtable();
headht.Add("UserTokenStr", "key123456");
UserInfoMode userInfo = HttpMethods.HttpGet(url,headht);
Get调用,不带Header
int ID=123; string url = "http://baidu.com/api/GetUser?ID=" + ID + "&age=16"; UserInfoMode userInfo = HttpMethods.HttpGet(url);完整帮助类
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace Quanxi.Yijiao.Mob.App_Tools
{
public class HttpHelp
{
#region POST
///
/// HTTP POST方式请求数据
///
/// URL.
/// POST的数据
/// 请求头参数
///
public static string HttpPost(string url, string param = null, Hashtable headht = null)
{
HttpWebRequest request;
//如果是发送HTTPS请求
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
}
else
{
request = WebRequest.Create(url) as HttpWebRequest;
}
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "**";
request.Timeout = 15000;
request.AllowAutoRedirect = false;
StreamWriter requestStream = null;
WebResponse response = null;
string responseStr = null;
try
{
requestStream = new StreamWriter(request.GetRequestStream());
requestStream.Write(param);
requestStream.Close();
response = request.GetResponse();
if (response != null)
{
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
responseStr = reader.ReadToEnd();
reader.Close();
}
}
catch (Exception)
{
throw;
}
finally
{
request = null;
requestStream = null;
response = null;
}
return responseStr;
}
#endregion
#region Delete
///
/// HTTP Delete方式请求数据.
///
/// URL.
///
public static string HttpDelete(string url, string param = null)
{
HttpWebRequest request;
//如果是发送HTTPS请求
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
}
else
{
request = WebRequest.Create(url) as HttpWebRequest;
}
request.Method = "Delete";
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "**";
request.Timeout = 15000;
request.AllowAutoRedirect = false;
WebResponse response = null;
string responseStr = null;
if (headht != null)
{
foreach (DictionaryEntry item in headht)
{
request.Headers.Add(item.Key.ToString(), item.Value.ToString());
}
}
try
{
response = request.GetResponse();
if (response != null)
{
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
responseStr = reader.ReadToEnd();
reader.Close();
}
}
catch (Exception)
{
throw;
}
return responseStr;
}
public static string HttpGet(string url, Encoding encodeing, Hashtable headht = null)
{
HttpWebRequest request;
//如果是发送HTTPS请求
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
}
else
{
request = WebRequest.Create(url) as HttpWebRequest;
}
request.Method = "GET";
//request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "*/*";
request.Timeout = 15000;
request.AllowAutoRedirect = false;
WebResponse response = null;
string responseStr = null;
if (headht != null)
{
foreach (DictionaryEntry item in headht)
{
request.Headers.Add(item.Key.ToString(), item.Value.ToString());
}
}
try
{
response = request.GetResponse();
if (response != null)
{
StreamReader reader = new StreamReader(response.GetResponseStream(), encodeing);
responseStr = reader.ReadToEnd();
reader.Close();
}
}
catch (Exception)
{
throw;
}
return responseStr;
}
#endregion
#region Post With Pic
private string HttpPost(string url, IDictionary
BUF加持异步多线程执行
RequestFactory:封装的异步--开辟新的线程请求
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
namespace Quanxi.Yijiao.Mob.App_Tools
{
///
/// 请求工厂
///
public class RequestFactory
{
///
/// HTTP GET方式请求数据.
///
/// URL
/// 请求头参数
///
public static async Task HttpGet(string url, Hashtable headht = null)
{
string result = "";
await Task.Run(() =>
{
try
{
result = HttpHelp.HttpGet(url, headht);
}
catch (Exception e)
{
result = e.Message;
}
});
return result;
}
///
/// HTTP POST方式请求数据
///
/// URL.
/// POST的数据
/// 请求头参数
///
public static async Task HttpPost(string url, string param = null, Hashtable headht = null)
{
string result = "";
await Task.Run(() =>
{
try
{
result = HttpHelp.HttpPost(url, param, headht);
}
catch (Exception e)
{
result = e.Message;
}
});
return result;
}
}
}
asp.net MVC调用
public async Task Index()
{
try
{
Console.WriteLine("业务--开始");
string url1 = "http://xxx.xxx.xx/data?act=region_list&pcode=0&level=1";//地域列表
string url2 = "http://xxx.xxx.xx/data?SiteName=yijiao&PageID=4&LocationID=4";//广告接口
string url3 = "http://xxx.xxx.xx/data?SiteName=kangyang&num=30";//友情链接接口
string addJson ="";//地域列表
string adJson = "";//广告列表
string linkJson = "";//友情链接列表
await Task.Run(() =>
{
Task tStr1 = RequestFactory.HttpGet(url1);
Task tStr2 = RequestFactory.HttpGet(url2);
Task tStr3 = RequestFactory.HttpGet(url3);
addJson = tStr1.Result;//地域列表
adJson = tStr2.Result;//广告列表
linkJson = tStr3.Result;//友情链接列表
});
Console.WriteLine("业务-结束-----2");
}
catch (Exception e)
{
throw;
}
ViewBag.result = "666666666666";
return View();
}



