2012-07-25 163 views
0

對於我的學校,我們必須做這些「諮詢課」,告訴你有關大學等。完成課程後,我想知道是否能夠使用來自PHP腳本的一組請求複製相同的過程與捲曲。GET請求是否包含隱藏的數據或參數?

我再次通過課程,這次使用Firebug和HTTP分析器。

讓我驚訝的是,唯一的GET請求是在整個課程中發出的。

如果您好奇,這裏是「課程」窗口的樣子。這是一種幻燈片類型的東西,你閱讀幻燈片,然後一些幻燈片對他們有疑問。最後,有一個測驗,如果你不通過,這個教訓不算。

我的問題是這樣的:如果我要設置登錄到我的帳戶的PHP/cURL腳本,然後提出每一個請求,那麼這個課程是否會被計算爲完整?

現在很明顯,這是不可能爲你們知道他們的服務器和工作等...

我猜我要說的是,沒有任何隱藏內容或字段,你可以通過一個GET請求?它似乎並不像課程窗口將足夠的信息傳遞給服務器,以便知道課程是否完成。

非常感謝我的項目的任何建議和提示!

編輯:這是我的正式試運行(請不要做太多次):

正如你們許多人暗示,它沒有工作....但我還沒有完全知道爲什麼。

+0

你爲什麼不試試呢?有可能是因爲cookies而無法使用,但也可能就這麼簡單。 – teh1 2012-07-25 07:33:28

+0

但是我用cURL存儲cookie ... – hellohellosharp 2012-07-25 19:30:13

回答

0

像你說的,我們不能對他們的服務器的細節說話,但它可能做這些事情與GET請求,只是因爲服務器可以使用cookie和存儲狀態(與這些Cookie相關聯)在服務器上。

這給出了將外部隱藏信息傳遞給服務器的可能性。

你可以研究cookies,甚至是那個出現在他們URL中的東西。 BTW提示你他們至少使用了一些Java。 :)

+0

雖然我可以抓住jsessionid並且正確地做到了,因爲它在主頁的源代碼中(登錄後)。足夠的cURL中有一個cookiejar嗎?你是什​​麼意思,將「隱藏的信息傳遞給服務器」。反正有沒有收到這個信息? – hellohellosharp 2012-07-25 20:04:10

0

課程應用程序可能很好地將數據存儲在會話或某些其他持久數據存儲服務器端,並使用來自瀏覽器的令牌(通常是cookie或GET參數)在需要時查找該數據。

0

它是一個有點複雜的任務。只有cURL,你不能模擬執行JavaScript代碼,AJAX請求等

+0

我知道,但這有什麼關係?除了AJAX請求外,Javascript只是客戶端,但這些AJAX請求是分析器選取的東西。這些GET請求來自AJAx。 – hellohellosharp 2012-07-25 19:26:29

+0

你必須知道要發送什麼。 curl只需將html作爲純文本格式進行抓取,並且您可以執行的任何操作都是解析它併發送請求。捲曲不能做 – 2012-07-25 19:30:06

+0

我還是不明白你的意思?如果我打開了一個HTTP分析器,那麼我的課程窗口和服務器之間的任何聯繫人都應該被拿起,對吧? – hellohellosharp 2012-07-25 20:01:36

0

我不知道你在做什麼。對於一個HTTP是無狀態協議,意味着服務器獲取請求並對該特定請求(可能是GET,POST或任何可能有一些請求參數)作出響應。系統使用狀態通常通過服務器創建會話並在客戶端設置cookie在稍後的請求中傳遞會話ID來實現。會話ID用於識別客戶端並跟蹤他的會話。您在請求期間發送的所有內容都是純文本。您最有可能得到的迴應將取決於會話狀態,並且也是純文本。客戶端沒有隱藏客戶端的內容。您只是不瞭解服務器在會話中保留了哪些信息,以及如何根據您在請求期間提供的信息和信息來處理請求。

+0

因此,如果我準確地複製了請求,使用相同的cookie,服務器是否不應該像處理我一樣處理cURL實際上採用課程? – hellohellosharp 2012-07-29 00:11:28

+0

不管客戶端是什麼,只是發送(請求)到服務器的信息......並且可能是這些請求的順序。 – Aidas 2012-08-06 12:23:16