簡體   English   中英

Java HttpClient模擬IE8行為

[英]Java HttpClient emulating IE8 behaviour

我正在使用來自HttpComponents項目的Apache HttpClient。 我在其中添加了自定義信任和密鑰管理器以處理雙向身份驗證(我的信任管理器接受所有內容,並且密鑰管理器始終發送相同的客戶端證書)。
我發送以下兩個請求:
1.獲取/resource.html(使用http-equiv =“ Refresh”元標記將其重定向到sth.dll)
2.獲取/scripts/sth.dll

我這樣做是為了模擬IE8的行為,該行為曾用於連接sth.dll服務(並且可以正常工作)。 如果我想直接連接到sth.dll服務(使用瀏覽器或httpclient),則會出現500錯誤:找不到指定的路徑。 不幸的是,當我將上述方法與手動redirec一起使用時,仍然出現500錯誤

我的問題是要使該服務正常工作還需要模仿什么?
問題是否可能在於IE重用了1個請求中的握手數據,而我的httpclient卻進行了兩次握手? 如果是,那么如何強制httpclient重用ssl informaton

我無權訪問服務器,也無法向服務提供商尋求幫助(因為它們僅支持通過ie8進行訪問)。 服務器是IIS / 6.0。 沒有可見的cookie(我使用Fiddler從IE8獲取流量信息)。

有人可以給我一些關於哪里看的新想法嗎?

我認為您在握手方面是對的。

瀏覽器首次連接到服務器時,將創建HTTP會話。 它的ID作為特殊的cookie返回給客戶端。 例如,在基於Java的服務器上,它是jsessionid 然后,客戶端在產生進一步的請求時發送廚師。 看看這個。 您應該做同樣的事情。 我希望,如果您將在第二個請求中發送cookie(獲取dll),則一切正常。

祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM