jquery ajax跨域拿到接口數(shù)據(jù)

<!DOCTYPE html>

<html>

<head>

? ? <meta charset="utf-8" />

? ? <title>接口</title>

? ? <script src="jquery-1.11.1.min.js"></script>

</head>

<body>

? ? <h6>獲取接口的數(shù)據(jù)</h6>

? ? <script>

? ? ? ? $(function () {

? ? ? ? ? ? //跨域求接口的數(shù)據(jù)

? ? ? ? ? ? $.ajax({

? ? ? ? ? ? ? ? url: "http://www.jxntv.cn/data/jmd-jxtv2.html",

? ? ? ? ? ? ? ? //有些網(wǎng)站是可以通過(guò)這種方式跨域來(lái)獲取數(shù)據(jù)的

? ? ? ? ? ? ? ? dataType: 'jsonp',

? ? ? ? ? ? ? ? jsonpCallback: 'list',

? ? ? ? ? ? ? ? type: 'post',

? ? ? ? ? ? ? ? // 下面的兩行代碼,就是解決跨域的關(guān)鍵

? ? ? ? ? ? ? ? xhrFields: { withCredentials: true },

? ? ? ? ? ? ? ? crossDomain: true,

? ? ? ? ? ? ? ? success: function (data)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? console.log(data);

? ? ? ? ? ? ? ? },


? ? ? ? ? ? ? ? error: function (responseText, textStatus, XMLHttpRequest) {

? ? ? ? ? ? ? ? ? ? alert(textStatus);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? });

? ? ? ? })

? ? </script>

</body>

</html>


但是有些網(wǎng)站是不可以跨域拿到的

此時(shí)钻洒,我們就要借助后臺(tái)

<script>

? ? ? ? $(function () {

? ? ? ? ? ? //跨域求接口的數(shù)據(jù)

? ? ? ? ? ? $.ajax({

? ? ? ? ? ? ? ? type: "get",

? ? ? ? ? ? ? ? dataType: "text",

? ? ? ? ? ? ? ? url: "default.ashx",

? ? ? ? ? ? ? ? data: "url=http://120.198.124.121:8087/openlib/service/statis/sync/36?token=683a7f9b0dbbbf3034613f8bc91cae76-dae696f54063b47c58e24323c8f11ff4&libcode=%E2%80%98ZT%E2%80%99&rownum=7&starttime=2019/4/10&endtime=2019/4/11",

? ? ? ? ? ? ? ? success: function (data)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? console.log(data);

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? error: function (responseText, textStatus, XMLHttpRequest) {

? ? ? ? ? ? ? ? ? ? alert(textStatus);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? });

? ? ? ? })

? ? </script>

新建一個(gè)類(lèi)文件:

HttpClient.cs


using System;

using System.Collections.Generic;

using System.IO;

using System.IO.Compression;

using System.Linq;

using System.Net;

using System.Text;

namespace 接口

{

? ? public class HttpClient

? ? {

? ? ? ? /// <summary>

? ? ? ? /// post請(qǐng)求

? ? ? ? /// </summary>

? ? ? ? public static string Post(string url, string postDataStr)

? ? ? ? {

? ? ? ? ? ? string result = "";

? ? ? ? ? ? HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

? ? ? ? ? ? request.CookieContainer = new CookieContainer();

? ? ? ? ? ? //以下是發(fā)送的http頭,隨便加锄开,其中referer挺重要的素标,有些網(wǎng)站會(huì)根據(jù)這個(gè)來(lái)反盜鏈?

? ? ? ? ? ? request.Referer = url;

? ? ? ? ? ? request.Accept = "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";

? ? ? ? ? ? request.Headers["Accept-Language"] = "zh-CN,zh;q=0.";

? ? ? ? ? ? request.Headers["Accept-Charset"] = "GBK,utf-8;q=0.7,*;q=0.3";

? ? ? ? ? ? request.UserAgent = "User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1";

? ? ? ? ? ? request.KeepAlive = true;

? ? ? ? ? ? //上面的http頭看情況而定,但是下面?zhèn)z必須加?

? ? ? ? ? ? request.ContentType = "application/x-www-form-urlencoded";

? ? ? ? ? ? request.Method = "POST";

? ? ? ? ? ? Encoding encoding = Encoding.UTF8;//根據(jù)網(wǎng)站的編碼自定義?

? ? ? ? ? ? byte[] postData = encoding.GetBytes(postDataStr);//postDataStr即為發(fā)送的數(shù)據(jù)萍悴,格式還是和上次說(shuō)的一樣?

? ? ? ? ? ? request.ContentLength = postData.Length;

? ? ? ? ? ? Stream requestStream = request.GetRequestStream();

? ? ? ? ? ? requestStream.Write(postData, 0, postData.Length);

? ? ? ? ? ? HttpWebResponse response = (HttpWebResponse)request.GetResponse();

? ? ? ? ? ? Stream responseStream = response.GetResponseStream();

? ? ? ? ? ? //如果http頭中接受gzip的話头遭,這里就要判斷是否為有壓縮,有的話癣诱,直接解壓縮即可?

? ? ? ? ? ? if (response.Headers["Content-Encoding"] != null && response.Headers["Content-Encoding"].ToLower().Contains("gzip"))

? ? ? ? ? ? {

? ? ? ? ? ? ? ? responseStream = new GZipStream(responseStream, CompressionMode.Decompress);

? ? ? ? ? ? }

? ? ? ? ? ? StreamReader streamReader = new StreamReader(responseStream, encoding);

? ? ? ? ? ? string retString = streamReader.ReadToEnd();

? ? ? ? ? ? streamReader.Close();

? ? ? ? ? ? responseStream.Close();

? ? ? ? ? ? result = retString;

? ? ? ? ? ? return result;

? ? ? ? }

? ? ? ? /// <summary>

? ? ? ? /// get請(qǐng)求

? ? ? ? /// </summary>

? ? ? ? public static string Get(string url)

? ? ? ? {

? ? ? ? ? ? WebClient wc = new WebClient();

? ? ? ? ? ? wc.Encoding = Encoding.UTF8;

? ? ? ? ? ? return wc.DownloadString(url);

? ? ? ? }

? ? ? ? /// <summary>

? ? ? ? /// 下載文件

? ? ? ? /// </summary>

? ? ? ? public static int DownloadFile(string downloadurl, string saveurl)

? ? ? ? {

? ? ? ? ? ? WebClient web = new WebClient();

? ? ? ? ? ? web.DownloadFile(downloadurl, saveurl);

? ? ? ? ? ? return 1;

? ? ? ? }

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末计维,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子撕予,更是在濱河造成了極大的恐慌鲫惶,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件实抡,死亡現(xiàn)場(chǎng)離奇詭異欠母,居然都是意外死亡欢策,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)赏淌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)踩寇,“玉大人,你說(shuō)我怎么就攤上這事六水“乘铮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵掷贾,是天一觀的道長(zhǎng)鼠冕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)胯盯,這世上最難降的妖魔是什么懈费? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮博脑,結(jié)果婚禮上憎乙,老公的妹妹穿的比我還像新娘。我一直安慰自己叉趣,他們只是感情好泞边,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著疗杉,像睡著了一般阵谚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烟具,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天梢什,我揣著相機(jī)與錄音,去河邊找鬼朝聋。 笑死嗡午,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的冀痕。 我是一名探鬼主播荔睹,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼言蛇!你這毒婦竟也來(lái)了僻他?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤腊尚,失蹤者是張志新(化名)和其女友劉穎吨拗,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丢胚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年翩瓜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片携龟。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡兔跌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出峡蟋,到底是詐尸還是另有隱情坟桅,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布蕊蝗,位于F島的核電站仅乓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蓬戚。R本人自食惡果不足惜夸楣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一鸭蛙、第九天 我趴在偏房一處隱蔽的房頂上張望句惯。 院中可真熱鬧,春花似錦谦絮、人聲如沸幢泼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缕棵。三九已至孵班,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間招驴,已是汗流浹背篙程。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留忽匈,地道東北人房午。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像丹允,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子袋倔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 什么是跨域 跨域雕蔽,是指瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的宾娜,是瀏覽器對(duì)JavaScript實(shí)...
    Yaoxue9閱讀 1,301評(píng)論 0 6
  • 原文地址:原文地址 什么是跨域批狐? 跨域是指一個(gè)域下的文檔或腳本試圖去請(qǐng)求另一個(gè)域下的資源,這里跨域是廣義的。 廣義...
    C_Y大漁閱讀 1,259評(píng)論 1 13
  • 什么是跨域嚣艇? 2.) 資源嵌入:承冰、、食零、等dom標(biāo)簽困乒,還有樣式中background:url()、@font-fac...
    電影里的夢(mèng)i閱讀 2,374評(píng)論 0 5
  • 什么是跨域 跨域贰谣,是指瀏覽器不能執(zhí)行其他網(wǎng)站的腳本娜搂。它是由瀏覽器的同源策略造成的,是瀏覽器對(duì)JavaScript實(shí)...
    他方l閱讀 1,064評(píng)論 0 2
  • 什么是跨域 跨域吱抚,是指瀏覽器不能執(zhí)行其他網(wǎng)站的腳本百宇。它是由瀏覽器的同源策略造成的,是瀏覽器對(duì)JavaScript實(shí)...
    HeroXin閱讀 836評(píng)論 0 4