乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      跨域讀取Cookie和session之HttpWebRequest另類方法(網(wǎng)站API開(kāi)發(fā))

       franklinfj 2013-11-23

      跨域讀取Cookie和session之HttpWebRequest另類方法(網(wǎng)站API開(kāi)發(fā))

      分類: Web Service我的程序2597人閱讀評(píng)論(2)收藏舉報(bào)

      在網(wǎng)上找了很多跨域讀取Cookie的方法,但都是A域主動(dòng)設(shè)置B域的Cookie,而沒(méi)有B域去獲取A域Cookie的方法。

      若要轉(zhuǎn)載,請(qǐng)注名出處http://blog.csdn.net/try530/archive/2009/01/06/3721525.aspx

      所謂A域主動(dòng)設(shè)置B域的Cookie

      1:在B.com上新建一文件:SetCookie.aspx

      1. protected void Page_Load(object sender, EventArgs e)
      2. {
      3. HttpContext.Current.Response.AddHeader("p3p", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
      4. HttpCookie cookie = new HttpCookie("userid", "44");
      5. cookie.Domain = ".";
      6. // cookie.Expires = DateTime.Now.AddSeconds((double)expires);
      7. HttpContext.Current.Response.AppendCookie(cookie);
      8. }

      2:在A域新建一文件:Default.aspx,在前臺(tái)頁(yè)面調(diào)用B域的SetCookie.aspx頁(yè)面,來(lái)為B域設(shè)置相應(yīng)的Cookie.

      1. <script src="http://www./SetCookie.aspx"></script>

      3:在B域新建一文件:Default.aspx來(lái)顯示被A域設(shè)置的Cookie。

      1. protected void Page_Load(object sender, EventArgs e)
      2. {
      3. Response.Write(Request.Cookies["userid"] == null ? "" : Request.Cookies["userid"].Value.ToString());
      4. }

      4:以此訪問(wèn)www./default.aspx---->www./default.aspx

      以上為A域主動(dòng)設(shè)置B域的Cookie,適用于單點(diǎn)登錄,但必須在B域,C域或D域上新建setcookie.aspx文件來(lái)讓A域幫忙設(shè)置Cookie。

      那B域C域或D域如何根據(jù)自身的需要去主動(dòng)獲取A域的Cookie呢?請(qǐng)看以下方法,以下方法為此文重點(diǎn)。

      1:在A域新建一文件:SetCookie.aspx,此文件用來(lái)設(shè)置A域自己的Cookie。

      1. protected void Page_Load(object sender, EventArgs e)
      2. {
      3. HttpCookie cookie = new HttpCookie("userid", "44");
      4. HttpContext.Current.Response.AppendCookie(cookie);
      5. }

      2:A域的Cookie設(shè)置完了,那怎么讓其他域來(lái)讀取自己的Cookie呢,這就是重點(diǎn)了。
      新建一頁(yè)面:OpenID.aspx,用來(lái)讓B域讀取Cookie,并自動(dòng)設(shè)置B域的cookie。(這里有點(diǎn)昏)

      1. protected void Page_Load(object sender, EventArgs e)
      2. {
      3. HttpContext.Current.Response.AddHeader("p3p", "CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
      4. if (Request.Cookies["userid"] != null)
      5. {
      6. Response.Write(@"
      7. var userid=" + Request.Cookies["userid"].Value.ToString() + @";
      8. SetCookie('userid',userid);//什么域調(diào)用此文件,設(shè)置的Cookie將是什么域的。
      9. window.location.href=document.URL;
      10. function SetCookie(name,value)//兩個(gè)參數(shù),一個(gè)是cookie的名子,一個(gè)是值
      11. {
      12. document.cookie = name + ""=""+ escape (value) ;
      13. }
      14. ");
      15. }
      16. else
      17. {
      18. Response.Write("document.write('沒(méi)有cookie');");
      19. }
      20. }


      3:A域的工作已經(jīng)完了,那B域如何得到A域的這個(gè)Cookie值呢,在B域新建一頁(yè):default.aspx

      1. protected void Page_Load(object sender, EventArgs e)
      2. {
      3. if (HttpContext.Current.Request.Cookies["userid"] != null)
      4. {
      5. Label1.Text = HttpContext.Current.Request.Cookies["userid"].Value.ToString();
      6. }
      7. else
      8. {
      9. Response.Write(" <script src=/"http://www./openid.aspx/"></script>");
      10. }
      11. }

      4:依次訪問(wèn) www./setcookie.aspx ------> www./default.aspx 此方法用于A域開(kāi)發(fā)API給其他域調(diào)用。主要用于A域API接口的開(kāi)發(fā)。就像現(xiàn)在的SNS網(wǎng)站提供當(dāng)前登錄的用戶信息給其他應(yīng)用程序(如搶車位)一樣,不過(guò)我不知道他們是怎么實(shí)現(xiàn)的,但我用此方法實(shí)現(xiàn)了。
      總結(jié)下此方法的步驟:
      1:A域設(shè)置cookie
      2:B域用調(diào)用javascript腳本的方式讀取A域cookie,讀取后,并同步設(shè)置B域Cookie.

      3:調(diào)用B域時(shí),發(fā)現(xiàn)沒(méi)有cookie就自動(dòng)從A域獲取cookie值來(lái)設(shè)置自己的Cookie。
      A域可以把怎么讀取的方法做成dll,提供給其他域。這稱之為A域的API。

      測(cè)試成功,用此方法能跨域讀取session,方式是:把A域的Session值存入B域的cookie中。至于怎么存,存在什么cookie名稱里,由A域提供。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多