C# WebClient、 jsonp實現跨域

WebClientajax

無傳輸數據獲取json

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());    

有傳輸數據獲取api

 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);//解碼  

 

WebRequestapp

  /// <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 jsonpasync

 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                 });            
相關文章
相關標籤/搜索