簡體   English   中英

PHP curl發布到aspx頁面導致500服務器錯誤

[英]PHP curl posting to aspx page causing 500 server error

這是一個有點復雜的問題,有點難以解釋。

我們已經構建了一個腳本來自動登錄並從一個基於asp.net的網站收集信息,該腳本是使用curl的PHP。 我們已經在測試腳本,並且該腳本可以在20%到30%的時間內正常工作,這意味着該腳本可以正常工作。 但是其余時間它會失敗,因為當我們發布登錄詳細信息時,服務器會顯示500 Internal Server錯誤。

相同的腳本和相同的細節有時起作用,有時卻不起作用,誰能告訴我這種問題的起因是什么?

我們應該檢查什么? 我們已經設置了所有cookie,viewstate,事件驗證等。還嘗試了在post字段中編碼特殊字符。

提前致謝。

-happyhardik


補充:-我們無權訪問.Net服務器-每次嘗試都向.Net服務器提供相同的輸入(登錄詳細信息)-每次.Net網站在瀏覽器中都能正常運行(幾乎100% )

.NET應用程序已損壞,或者您的代碼已損壞。

首先要做的是弄清楚需要解決的問題:

將您的PHP代碼簡化為一些“基本要點”測試。 每次都使用相同(有效)的用戶名/密碼。 運行20次左右...

它多久成功一次?

如果您獲得20-30%的成功率,那么在.NET方面是一個問題。 (對該系統的相同輸入產生不同的結果)。

如果您獲得100%或0%的成功率,那可能是您的幫助(在某些情況下,您發送的請求很差)

如果您可以訪問.NET服務器(或維護該服務器的人員),請查看導致500錯誤的原因。 他們的日志中一定會有一些未處理的異常。

根據我的經驗,如果您發送請求的速度過快,某些網站會嘗試通過不同類型的錯誤來減慢您的速度。

我們已經設置了所有cookie,viewstate,事件驗證等。還嘗試了在post字段中編碼特殊字符。

您怎么知道您的Cookie和viewstate對於您發送請求的機器是正確的? 還是它們對您向其發送請求的服務器是正確的?

ViewState是將ASP.NET頁面字段發送到瀏覽器時的一種編碼表示形式,它是根據各種因素進行編碼的,包括服務器的MachineKey,頁面代碼的哈希以及可能的MAC地址。服務器-將任何錯誤歸因於似乎是回發,服務器將拋出HttpException消息“ Invalid Viewstate”。

服務器可能會向您拋出異常的其他原因有很多,從站點代碼中的其他錯誤到太忙而無法處理請求,甚至是Sab建議主動拒絕您的請求。 最好的選擇是嘗試與網站所有者合作,提出雙方都可以使用的解決方案-但是,我傾向於假設您正在對網站所有者進行某種半非法的屏幕抓取不會很滿意,否則他們會已經為您提供了API。

暫無
暫無

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

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