您現在的位置是:電腦技術吧?>? 編程技術 ??>??當前訪問頁面升級中,python訪問集合??>??正文詳情

當前訪問頁面升級中,python訪問集合

郗銳逸2019-12-03 17:42:09 人圍觀
簡介python集合元素訪問cookies的值比其他ASP集合(如form和ServerVariables)的值復雜得多。cookie是瀏覽器存儲在客戶機系統上的一小段文本,與每個請求一起緊急頁面升級 每天正常訪問

Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要復雜得多。

Cookie是一小塊由瀏覽器存貯在客戶端系統上的文本,且隨同每次請求發往它們應用于的域中的服務器。

  ASP使得應用cookie較為容易,可以從Request對象的Cookies集合中獲得所有隨同請求發出的cookie值,并可創建或修改cookie,通過Response對象的Cookies集合發回給用戶。

  Cookie包含可用兩種方式構造的信息,單值cookie提供其值給代碼是通過一個一般的類ASP集合。

然而,集合的每個成員可能本身也是一個集合,包含這種信息的cookie通過稱為多值(multiple-Value)cookie。

  創建一個單值的cookie較為簡單,如下所示: Response.Cookies(item-name) = item-value   創建一個多值的cookie,可以使用如下命令: Response.Cookies(item-name)(sub-item-name) = sub-item-value   設置cookie應用的域及路徑及其有效期,我們使用: Response.Cookies(item-name).domain = domain-url Response.Cookies(item-name).path = virtual-path Response.Cookies(item-name).expires = #date#   通常,客戶只在對創建cookie的目錄中的頁面提出請求時,才將cookie隨請示發住服務器。

通過指定path屬性,可以指定站點中何處這個cookie是合法的,并且這個cookie將隨請求發送。

如果cookie隨對整個站點的頁面請求發送,設置path為/。

  假如Expires屬性沒有設置,關閉當前的瀏覽器實例時,cookie將被自動消除。

  注意,我們在向瀏覽器發送任何輸出時,已經創建了cookie。

因為,這些cookie是頁面HTTP報頭的一部分。

  在ASP 3.0中,緩沖的缺省狀態是打開的,且沒有輸出被發送,除非使用Response.Flush指定做這個工作或者頁面已到末端。

這意味著創建cookie的代碼可以在頁面上的任何位置,直到任何輸出刷新(flush)到客戶端前,它都可以被執行。

  要讀現有的cookie,使用Request.Cookies集合。

可以單獨訪問其中的項目,方法類似于創建它們時使用的方法。

StrSingleValue = Request.Cookies(item-name) StrSubItemValue = Request.Cookies(item-name)(sub-item-name)   注意Request.Cookies集合(和所有其他Request集合一樣)是只讀的。

Response.Cookies集合是只寫的,事實上可以訪問這個集合中一系列cookie的名稱,而不是它們的值。

  遍歷Cookies集合  為了使用Cookies集合更加方便,可使用名稱為Haskeys的附加屬性。

假如訪問的cookie本身也是個集合,即它是一個多值的cookie,這將返回True。

使用Haskeys屬性,可以遍歷完整的Request.Cookies集合,從而獲得所有cookie的列表及它們的值。

For Each objItem In Request.Cookies If Request.Cookies(objItem).HasKey Then Use another For Each to iterate all subkeys For Each objItemKey in Request.Cookies(objItem) Response.Write objItem ( objItemKey ) = _ Request.Cookies(objItem)(objItemKey) BR Next Else Print out the cookie string as normal Response.Write objItem = Request.Cookies(objItem) BR End If Next   這非常類似于前面的從Request.Form集合中提取多個值的復雜代碼。

但是這里可以使用Haskeys屬性來判別每個條目是否為一個集合。

而在Form例子里,必須查詢Request.Form(item_name).Count屬性,這是因為Form集合(和所有的除cookie外的其他集合)成員不可能是真正的集合。

ASP只是做了幕后的工作,得到了每個多條目集合的值。

  Form和QueryString的差異  了解了訪問各種ASP集合的技術以后,需要解決另一個問題是:Form和QueryString集合之間的差異是什么?

假如準備使用ASP,毫無疑問應該清楚這種差異,但需要參考HTTP工作方式來重新認識,理解它們。

  通過HTTP從Web服務器請求頁面或其他資源,有兩個通用的方法。

可使用GET方法直接獲得資源,也可使用POST把值傳給相應資源。

GET方法是缺省的,可以看一下本章前面的一個HTTP請求的實例:  7/8/99 10:27:16 Sent GET /Store/Download.asp HTTP/1.1  假如把一個或多個成對的名稱/值附在請求頁面的URL后,就變成請求的查詢字符串,且在QueryString集合中提供給ASP頁面。

單擊Web頁面、Email消息或其它文檔的超鏈接,或在瀏覽器的地址欄中輸入地址并按回車,或單擊瀏覽器中的Links或Favorites按鈕,所有這些都要使用GET方法。

  因此,對這些動作中傳遞值給ASP的唯一方法是通過QueryString集合,把值附在URL后。

  出現在Request.QueryString集合中并被訪問的值,與前面看到的Form集合實例中的工作方式相同。

URL和查詢字符串的結合:  http://mysite.com/process_page.asp?FirstName=PriscillaLastName=Descartes  可以采用如下方式訪問在QueryString集合中提供的值: strFirstName = Request.QueryString(FirstName) Return Priscilla strLastName = Request.QueryString(LastName) Return Descartes strRaw = Request.QueryString Return FirstName=PriscillaLastName=Descartes   窗體的GET和POST方法  在一個頁面內使用FORM段時,可以設置打開的FORM標記的METHOD屬性值為GET或POST,缺省值為GET。

假如使用GET或省略其屬性,瀏覽器將該值綁定在頁面所有控件上,成為一個查詢字符串,且附在被請求頁面的URL上。

  當這個請求到達Web服務器時,其值由ASP的Request.QueryString集合提供。

然而,假如設置METHOD屬性為POST,瀏覽器將值包裝進發送服務器的HTTP報頭中,通過Request.Form集合提供給ASP。

  通過來說,可以在所有的HTML窗體中使用POST方法。

然而,瀏覽器或服務器的URL字符串長度存在一定的限制。

因此,附有長的字符串可能會引起溢出和某些字符串的字符被截掉。

同時,查詢字符串出現在瀏覽器的地址欄和所有的保存的鏈接和收藏夾中。

不僅如此,還顯露了通過Web服務器時在HTTP請求中不想顯示的值,它也可能出現你的服務器和其他路由服務器的日志文件中。

在HTTP請求報頭中的值很少是可見的,并且不出現在日志文件中。

  使用POST方法需要注意的小問題是,當用戶重新下載FORM時,窗體的值將不再保留,其值為空且必須重新輸入。

然而,當附在URL上時,其值被存儲為一個鏈接,將被保留,因此將出現在所有的URL與字符串結合的請求中,這或許是個優點也可能是個缺點,這根據應用而定(一些瀏覽器在客戶端上能夠在一定范圍內自動保留一個頁面上的值)。

  另一點是URL與查詢字符串的結合體不能包含任何空格或其他非法字符,否則的話,Navigator和一些其他的瀏覽器將出現問題。

非法字符是那些用來分隔URL和查詢字符串的部分,例如/、:、?和(IE能夠自動將空格轉換為正確的格式加號 ,但其他的非法字符不能處理)  ASP中的cookie的使用  在這一節我們將學習那些提供給ASP代碼使用的集合、方法和屬性的各種技術。

  1) cookie中存儲用戶的細節情況  可以使用cookie來存儲這兩類值:當瀏覽器關閉時我們不想保存的值(例如用戶的注冊信息)以及在用戶訪問站點時要保留的值。

在每種情況下cookie的值對于來自用戶瀏覽器的每個頁面請求的ASP都是可用的。

  然而,需要記住的是,cookie只有在對Cookie中的虛擬路徑(path)內的頁面發出請求時,才會發往服務器。

缺省時,假如path的值在cookie中沒有設置,則其值為創建cookie的頁面的虛擬路徑。

為使一個cookie發往一個站點的所有頁面,需要使用path=/。

這里是個實例,從自定義的Login頁面中,將用戶的注冊信息存貯在一個cookie中,由于沒有應用有效期,cookie值僅在關閉這個瀏覽器這前保留: ... Request.Cookies(User)(UID) = % = Request(UserName) % Request.Cookies(User)(PWD) = % = Request(Password) % Request.Cookies(User).Path = /adminstuff Only applies to admin pages ...   現在,在用戶從adminstuff目錄或其子目錄請求的每個頁面中,都可以找到這個cookie。

假如它不存在,可以將用戶重定向到注冊頁面: If (Request.Cookies(User)(UID) alexhomer) _ Or (Request.Cookies(User)(PWD) secret) Then Response.Redirect login.asp?UserName= Request.Cookies(User)(UID) End If ...   由于把cookie中的用戶名放在Response.Redirect的URL查詢字符串中,假如在口令輸入時出現錯誤且希望用戶不必重新鍵入用戶名,可以在login.asp頁面中使用它: FORM ACTION=check_user.asp METHOD=POST INPUT TYPE=TEXT NAME=UserName VALUE=% = Request.QueryString(UserName) %P INPUT TYPE=SUBMIT VALUE=LOGIN /FORM   2) 修改現有的cookie  可以使用ASP修改現有的cookie,但不能只修改cookie中的一個值。

當更新一個在Response.Cookies集合中的Cookie時,現有的值將丟失。

我們可以用如下代碼創建一個cookie,可以使用: Response.Cookies(VisitCount)(StartDate) = dtmStart Response.Cookies(VisitCount)(LastDate) = Now Response.Cookies(VisitCount)(Visits) = CStr(intVisits) Response.Cookies(VisitCount).Path = / Apply to entire site Response.Cookies(VisitCount).Expires = DateAdd(m,3,Now)   假如想要更新Visits和LastDate的值,必須先不需改變的所有值,然后重寫整個的cookie: datDtart = Response.Cookies(VisitCount)(StartDate) intVisits = Response.Cookies(VisitCount)(Visits) Response.Cookies(VisitCount)(StartDate) = dtmStart Response.Cookies(VisitCount)(LastDate) = Now Response.Cookies(VisitCount)(Visits) = Cstr(intVisits) Response.Cookies(VisitCount).Path = / Response.Cookies(VisitCount).Expires = DateADD(m,3,Now 1)且對于幾乎所有的其他Response方法和屬性,應該在寫入任何內容(即打開HTML標記或任何文本或其他的HTML)到響應之前完成這個工作。

版權聲明:本文由 郗銳逸 整理編輯。

原標題:頁面統一升級訪問,頁面緊急升級通訪問通知

轉載注明出處:http://www.dn9ww09s.icu/program/15075.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 數據庫和程序如何連接,數據庫的連接

    數據庫和程序如何連接,數據庫的連接 相關圖片數據庫連接失敗在網上搜索大量的信息,經過他們不懈的努力,終于測試成功。最初,您需要在服務器上安裝MySQL ODBC 3.51以及數據庫用戶名和密碼。使用以下密碼。以下是引用web怎么連...

  • 設置服務器時間,怎么設置時間服務器

    設置服務器時間,怎么設置時間服務器 相關圖片如何防止服務器更改時間具體如下:這里,strftime函數主要用來實現這個函數,代碼非常簡單,如下:12$today=date('y-m-d-g');$today=strftime(gdc服務器調整時間密碼...

  • php獲取網頁內容,php獲取網頁源碼

    php獲取網頁內容,php獲取網頁源碼 相關圖片php訪問網頁本文的示例描述了PHP如何獲取web頁面上的所有鏈接。與您分享以供參考。具體實現方法如下:代碼如下:?Phpfunction get all URL($code獲取網頁html...

  • asp 代碼,asp開源代碼

    asp 代碼,asp開源代碼 相關圖片怎樣將asp源代碼%調暗CC?信息(4)、strinfo、strtemp if會話(CC?信息)=然后CC?信息(0)=CC log.txt'日志文件名CC?信息(1)=請求服務什么是asp...

  • asp增加數據,asp顯示數據

    asp增加數據,asp顯示數據 相關圖片asp連接數據表格ASP data cast CBool(expression)cbyte(expression)ccur(expression)CDate(expressionasp最大生成數據...

  • php字符串,php字符串替換

    php字符串,php字符串替換 相關圖片php 字符串長度具體如下:123456789101213141516171819201222324252627282933132334353738394041424344454php字符串反轉...

  • php轉換html,php格式怎么轉換

    php轉換html,php格式怎么轉換 相關圖片php轉換文本編碼具體如下:PHP圖片轉換成ASCII碼,轉換后圖片1234567891013141516171819201222324252627282933132333435php轉換字符編碼...

  • mongodb和php,php框架對mongodb

    mongodb和php,php框架對mongodb 相關圖片mongodb教程本文的例子描述了用PHP實現的mongodb操作類。與您分享以供參考。具體如下:1234567891012131415161718192021222324252mongodb集群...

  • code函數,code函數的使用方法

    code函數,code函數的使用方法 相關圖片vscode查看函數調用者authcode函數被許多人使用。它來自discuz程序。它用于加密和解密字符串。您可以設置密鑰和過期時間,這在很多情況下都會用到。原始函數代碼可能會生成諸如“ma...

  • 格式化php,php時間格式化

    格式化php,php時間格式化 相關圖片js格式化在JS中保存和編寫模板有很多場景,比如彈出類型的HTML代碼模板。JS不支持換行的長文本編寫方法,必須加一行。例如,代碼如下:VAR content='divrjson格式化...

熱評文章

  • 字符在字符串出現的次數,字符串出現最多的字符

    字符在字符串出現的次數,字符串出現最多的字符 相關圖片統計字符串中每個字符出現的次數使用此函數返回字符串中字符或字符串的出現次數,其中Mainstr是要搜索的字符串,substr是要檢查的字符串。函數countinstances(Mainstr輸入一個字符串...

  • 存儲過程調用,如何調用存儲過程

    存儲過程調用,如何調用存儲過程 相關圖片sql存儲過程調用使用SQL server存儲過程可以大大提高程序的運行速度,簡化程序維護的難度,得到了廣泛的應用。存儲過程是可以接受和返回用戶提供的參數的transact-SQsql怎么調用存儲過...

  • word生成多級目錄,目錄頁碼怎么生成

    word生成多級目錄,目錄頁碼怎么生成 相關圖片怎樣自動生成目錄ASP目錄生成功能有兩種:一種是只創建一級目錄,另一種是支持同時生成多個目錄。子文件夾(foldername)dim fsoset fso=server.cre目錄生成方式...

  • 關鍵詞代碼,如何知道代碼關鍵詞

    關鍵詞代碼,如何知道代碼關鍵詞 相關圖片球球關鍵詞代碼在web開發中,我經常遇到多個關鍵字對來查詢單個字段,這通常是通過動態數組來實現的。當然,多個關鍵字通常用空格或分隔。我假設多個關鍵字由空格分隔。關鍵字...

  • asp是數據庫連接嗎,access數據庫連接asp

    asp是數據庫連接嗎,access數據庫連接asp 相關圖片asp數據庫連接出錯訪問數據庫教程連接代碼dim Conn,connstr,timesdb,RS timesdb=。。/www.111cn。網絡asp連接sqlserver實例...

  • 編程數據庫,數據庫開發用什么編程

    編程數據庫,數據庫開發用什么編程 相關圖片數據庫的編寫我相信很多人都見過數據庫。在這里,我來談談我的方法。步驟1:備份現有數據庫。第2步:執行以下ASP文件,以便刪除數據庫中的JS特洛伊木馬程序:注意:CONN.A數據編程...

  • 集合的,集合有什么用

    集合的,集合有什么用 相關圖片集合的種類當用戶填寫頁面內容<表單>或在瀏覽器地址欄中輸入URL后的值時提供的所有值,這些值由ASP腳本通過表單和查詢字符串集使用。這是訪問ASP代碼中的值的簡單方法。一集合...

  • access數據庫窗體代碼,access代碼實現數據庫另存

    access數據庫窗體代碼,access代碼實現數據庫另存 相關圖片access數據庫查詢首先,如果您只是將access數據庫的后綴更改為。直接用ASP,你不能阻止下載。正確的方法是創建一個表并為這個表編寫二進制文件,即OLE對象。具體代碼如下:%d連接ac...

  • asp開發實例,asp入門實例

    asp開發實例,asp入門實例 相關圖片aspnet開發實例asp程Request.QueryString請.Form實Request.QueryString獲url傳Request.Form是33719;contrachtml5 asp...

  • orecal數據庫,數據庫有哪些

    orecal數據庫,數據庫有哪些 相關圖片msde數據庫選擇打印報告樣式并單擊“下一步”。現在要為新數據庫指定標題。在對話框上方的文本框中,輸入客戶訂單數據庫。對話框中的名稱是新數據庫條目窗體上的標題字,即打開...

關注微信

变脸官网查询