C# 实现 HTTP 请求代理以解决 JS 跨域问题
作者:键盘侠时间:2026-10-26 19:52:44浏览:458
本文介绍如何利用 C# 后端代理解决前端 JavaScript 跨域访问限制。通过一般处理程序接收前端请求,使用 HttpWebRequest 发起 POST 请求并获取响应数据,最终返回给前端。该方法适用于需要多次跨域调用的场景,有效规避浏览器同源策略限制。
C# 实现 HTTP 请求代理以解决 JS 跨域问题
以下代码展示了如何通过一般处理程序作为代理,由 JavaScript 发起调用以解决跨域问题。若业务场景中涉及频繁的跨域交互,建议采用此方案。
具体实现代码如下:
public string GetInfo(HttpContext context)
{
string post = "a=XX&b=XX";
return CreateHttpRequest("https://www.XXXX.com", post, "POST");
}
#region 构造请求
/// <summary>
/// 构造请求
/// </summary>
/// <param name="requestUrl">请求地址</param>
/// <param name="requestParam">请求参数</param>
/// <param name="requestMethod">请求方式</param>
/// <returns></returns>
public string CreateHttpRequest(string requestUrl, string requestParam, string requestMethod)
{
try
{
System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create(requestUrl) as System.Net.HttpWebRequest;
request.Method = requestMethod;
string post = requestParam;
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(post);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytes.Length;
System.IO.Stream stream = request.GetRequestStream();
stream.Write(bytes, 0, bytes.Length);
System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse;
System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
return sr.ReadToEnd();
}
catch (Exception)
{
return "";
}
}
#endregion作者最新文章
免登录快速分享代码:适合面试协作的轻量级JS在线运行工具推荐
2026-11-05 14:45:59
JS空字符串和纯空格转浮点数的结果是什么
2026-11-05 11:04:42
JS在线格式化缩进混乱怎么办?配置项调整技巧
2026-11-04 23:27:25
JS怎么获取秒级时间戳
2026-11-03 21:45:29
JS时间戳怎么从毫秒转换为秒
2026-11-03 20:04:14
