zoukankan      html  css  js  c++  java
  • C# WebClient、 jsonp实现跨域

    WebClient

    无传输数据获取

    1             Uri uri = new Uri(allURL);
    2             WebClient wc = new WebClient();
    3             wc.Encoding = System.Text.Encoding.UTF8;
    4             var str = wc.DownloadString(uri.ToString());    

    有传输数据获取

     1        var valuesout = new NameValueCollection();// 所加参数
     2             valuesout["data"] = data;
     3             valuesout["_aop_signature"] = _aop_signature;
     4 
     5             byte[] response;
     6             using (var client1 = new WebClient())
     7             {
     8                 response = client1.UploadValues("路径", valuesout);
     9             }
    10 
    11             string str = System.Text.Encoding.UTF8.GetString(response);//解码  

    WebRequest

      /// <summary>
            /// 发送HTTP请求
            /// </summary>
            /// <param name="url">请求的URL</param>
            /// <param name="param">请求的参数</param>
            /// <returns>请求结果</returns>
            public static string request(string url, string param)
            {
                string strURL = url + '?' + param;
                System.Net.HttpWebRequest request;
                request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
                request.Method = "GET";
                // 添加header
                request.Headers.Add("apikey", "您自己的apikey");
                System.Net.HttpWebResponse response;
                response = (System.Net.HttpWebResponse)request.GetResponse();
                System.IO.Stream s;
                s = response.GetResponseStream();
                string StrDate = "";
                string strValue = "";
                StreamReader Reader = new StreamReader(s, Encoding.UTF8);
                while ((StrDate = Reader.ReadLine()) != null)
                {
                    strValue += StrDate + "
    ";
                }
                return strValue;
            }


    jQuery ajax jsonp

     1                 $.ajax({
     2                     type: "get",
     3                     async: false,
     4                     //contentType: "application/json; charset=utf-8",
     5                     url: "http://bulabula.top/json.js",
     6                     dataType: "jsonp", //数据类型为jsonp  
     7                     jsonp:"callback",
     8                     jsonpCallback:"callBackFun", //服务端用于接收callback调用的function名的参数
     9                     success: function(data) {
    10                         console.log(data);
    11                     },
    12                     error: function(a,b,c) {
    13                         console.log(a);console.log(b);
    14                         console.log(c);
    15                     }
    16                 });            
  • 相关阅读:
    Android游戏开发研究与主角在地图滚动
    程序猿学一点金融知识,但是,如果没有提示代码
    Java8的日期和时间的库20经常使用的演示样本
    通用Key-Value存储系统的存储管理策略解析
    车库门开启器
    timesten备份和恢复
    HTML DOCTYPE 重要性
    嵌Ruby 2 《捆绑》
    Jexus web server V5.6.1正式公布
    卓尼斯ZT-180评測
  • 原文地址:https://www.cnblogs.com/gaozejie/p/5057583.html
Copyright © 2011-2022 走看看