2017-04-19 40 views
0

這是一個在響應之前抓取請求的好方法:useragent = getHttpRequestData().headers["User-Agent"]; 我注意到它不會抓取請求,除非它在實際的頭部請求列表中。一個例子是我似乎只提取基本的請求數據。例如,如果我在web.config文件中設置緩存控制,它會設置緩存,max age和etag,但是當設置etags = getHttpRequestData().headers["ETag"];並試圖輸出由web.config文件/服務器生成的ETag的數據時,它不會抓取要輸出的ETag數據。我測試的其他幾個是:可以從ColdFusion頭文件中檢索什麼類型的請求數據?

useragent = getHttpRequestData().headers["User-Agent"]; 
acceptencoding = getHttpRequestData().headers["Accept-Encoding"]; 
acceptlanugage = getHttpRequestData().headers["Accept-Language"]; 
cachecontrol = getHttpRequestData().headers["Cache-Control"]; 
connection = getHttpRequestData().headers["Connection"]; 
accept = getHttpRequestData().headers['Accept']; 
contentlength = getHttpRequestData().headers['Content-Length']; 
+2

需要明確的是,你試圖訪問比是由瀏覽器/客戶端發送的那些其他HTTP標頭? –

+0

如果您轉儲該方法,您應該能夠看到所有可用信息 - 'writeDump(getHttpRequestData());' –

+0

您也可以嘗試使用此方法 - getPageContext()。getRequest()。getHeader(「ETag 「);'但我不確定那也能爲你提供信息。 –

回答

0

請求數據從瀏覽器發送。你可以看到使用ColdFusion。但是,在ColdFusion完成處理後,IIS會設置響應頭文件(如etag)。這是一個迴應不是請求。您無法使用ColdFusion查看該內容,但可以在瀏覽器中查看。 EX:

enter image description here

相關問題