C#后台跨域请求

通过C#后台发送请求来实现跨域访问(后台消耗会增大),源码如下:

   string URL = "www.xxx.com";
   public void sendPost(string urlArgs,HttpContext context)
   {
       //context.Request["args"]
       System.Net.WebClient wCient = new System.Net.WebClient();
       wCient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
       byte[] postData = System.Text.Encoding.ASCII.GetBytes("id=" + urlArgs);

       byte[] responseData = wCient.UploadData(URL, "POST", postData);

       string returnStr = System.Text.Encoding.UTF8.GetString(responseData);//返回接受的数据 

       context.Response.ContentType = "text/plain";
       context.Response.Write(returnStr);
   }

其他参考:

JSONP

JS跨域请求

跨域请求(XDR)简介

轻松利用Jquery实现Ajax跨域访问


C#中的HTTP协议跨域请求可以通过使用HttpClient类来实现。在进行跨域请求时,需要设置HttpClient的相关属性和头部信息。 首先,需要在代码中创建一个HttpClient对象,并设置其相关属性。可以通过设置HttpClientHandler的属性来实现跨域请求。例如,可以设置HttpClientHandler的AllowAutoRedirect属性为false,以禁止自动重定向。 接下来,可以通过设置HttpClient的DefaultRequestHeaders属性来添加头部信息。常见的跨域请求头部信息包括Origin、Access-Control-Request-Method和Access-Control-Request-Headers。可以使用Add方法来添加这些头部信息。 最后,使用HttpClient的GetAsync、PostAsync等方法发送HTTP请求,并获取响应结果。 以下是一个示例代码,演示了如何进行C#中的HTTP协议跨域请求: ```csharp using System; using System.Net.Http; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { // 创建HttpClient对象 HttpClient client = new HttpClient(); // 设置HttpClientHandler的属性 HttpClientHandler handler = new HttpClientHandler(); handler.AllowAutoRedirect = false; client = new HttpClient(handler); // 设置跨域请求头部信息 client.DefaultRequestHeaders.Add("Origin", "http://example.com"); client.DefaultRequestHeaders.Add("Access-Control-Request-Method", "GET"); client.DefaultRequestHeaders.Add("Access-Control-Request-Headers", "X-Requested-With"); // 发送HTTP请求 HttpResponseMessage response = await client.GetAsync("http://api.example.com/data"); // 获取响应结果 string result = await response.Content.ReadAsStringAsync(); Console.WriteLine(result); } } ``` 请注意,以上示例代码仅为演示跨域请求的基本原理,实际应用中可能需要根据具体情况进行适当的修改和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值