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 + "\r\n";
            }
            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                 });            

 

posted @ 2015-12-18 17:01  gaozejie  阅读(2444)  评论(0编辑  收藏  举报