Jmeter登錄中的cookie問題


Jmeter中發送多個http請求,由於后面的請求需要登錄后才能獲取到數據,所以前面先要發送登錄請求。

登錄時會寫cookie到本地,后面的請求中會讀取cookie中的JSESSIONID,若后面的請求中的JSESSIONID與登錄的不一致,則服務器認為是沒有登錄,所以發起后面的請求后會返回登錄

 

苦苦查詢最后終於發現問題所在,cookie管理器中的策略沒有設置對,我配置成了RFC2109 ,后來改成Compatibility 兼容模式后,所有請求的cookie一致了,后續就可以成功了

 

以下Cookies標准,HttpClient3.1可以支持。

Compatibility
這種兼容性設計要求是適應盡可能多的不同的服務器,盡管不是完全按照標准來實現的。如果你遇到了解析Cookies的問題,你就可能要用到這一個規范。
有太多的web站點是用CGI腳本去實現的,而導致只有將所有的Cookies都放入Request header才可以正常的工作。這種情況下最好設置http.protocol.single-cookie-header參數為true。

RFC2965
RFC2965定義了版本2並且嘗試去彌補在版本1中Cookie的RFC2109標准的缺點。RFC2965是,並規定RFC2965最終取代RFC2109.
發送RFC2965標准Cookies的服務端,將會使用Set-Cookie2 header添加到Set-Cookie Header信息中,RFC2965 Cookies是區分端口的。

Ignore Cookies
此規格忽略所有Cookie 。被用來防止HttpClient接受和發送的Cookie。

Netscape標准
Netscape是最原始的Cookies規范,同時也是RFC2109的基礎。盡管如此,還是在很多重要的方面與RFC2109不同,可能需要特定服務器才可以兼容。

RFC2109
RFC2109是W3C組織第一次推出的官方Cookies標准。理論上,所有使用版本1Cookies的服務端都應該使用此標准。HttpClient已經將此標准設定為默認。
遺憾的是,許多服務端不正確的實現了標准或者仍然使用Netscape標准。所以有時感到此標准太多於嚴格。
RFC2109是HttpClient使用的默認Cookies協議。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM