我已經成功登錄併發布數據,並使用idHttp.post()2個站點下載的數據的變化,但我有第三麻煩一個
在這個新的網站,登錄工作,但是當我嘗試下載一個文件(使用__doPostBack下載鏈接)我重定向到一個錯誤頁面
我有雙重和三重檢查所有發佈數據,他們酷似什麼HTTP分析表明我我注意到,唯一的區別是,在我的其他嘗試和網站,我成功地訪問,__視圖狀態是一樣的,每次的時間,它永遠不會改變,但在這第三個站點它與每個登錄改變(我的意思是當我去的時候現場手動和我檢查HTTP分析結果我可以看到__VIEWSTATE參數值的每個時間不同)
我應該怎麼辦?是改變__viewstate參數的問題?如果是的話,我該如何解決它?
我用張貼代碼:IdHttp:重定向嘗試下載文件時出錯頁面,__VIEWSTATE每次
try
Response := TMemoryStream.Create;
try
Request := TStringList.Create;
try
Request.Assign(TATDFileUtility.convertPairValueToRequestList(TATDFileUtility.extractPairValue('the site login parameters.txt', 3)));
IdHTTP := TIdHTTP.Create;
try
IdHTTP.AllowCookies := True;
IdHTTP.HandleRedirects := True;
IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP.Post('thesite, the address for the login and main page and download page is the same', Request, Response);
Response.SaveToFile('responseCode0.txt');
Request.Clear;
Response.Clear;
Request.Assign(TATDFileUtility.convertPairValueToRequestList(TATDFileUtility.extractPairValue('httpDownloadParamters.txt', 3)));
IdHTTP.Post('thesite, the address for the login and main page and download page is the same', Request, Response);
Response.SaveToFile('responseCode1.txt');
,你可以檢查repsonsecode0後看,我可以看到,我登錄,但第二個響應代碼顯示了我的錯誤,並跟蹤它表明我是被重定向到錯誤頁面。
你期望什麼?我們不知道哪個網站,我們沒有看到任何代碼,我們可以猜測。你說謊,你發送完全一樣 - 你不知道。您必須首先訪問登錄站點以獲取正確的__viewstate值。然後用此值登錄,然後再次檢查值是否已更改並使用新值。修復它很容易 - 只需發送正確的值。 – smooty86
@ smooty86,出於隱私原因,我無法分享網站地址,但代碼如上所示。 –
@ smooty86,如果我需要動態獲取__VIEWSTATE,我該怎麼辦呢?,我怎樣才能得到當前__VIEWSTATE值,這樣我可以給我的程序?,THX –