2013-07-17 82 views
0

我有一個VB.NET應用程序,它向運行Cloudflare的服務器上的腳本發送POST請求。從應用程序發送請求時,我總是遇到錯誤,但使用Firefox擴展來模擬請求可以正常工作。通過使用提琴手,我想我已經找到了問題的原因:HTTP請求Cookie來自哪裏?

當發送與Firefox的插件的附加標題連接到請求的請求:

餅乾:__cfduidxxxxxxxxxxxx

此cookie來自Cloudflare,但它來自哪裏,即。我怎樣才能得到這個cookie值,並將其與VB應用程序的請求一起發送?我嘗試將cookie複製並粘貼到應用程序中,並且它運行良好,所以這導致我得出結論:我需要此cookie,但是該值對於每個用戶都是唯一的,所以我不能簡單地將其硬編碼到應用程序中。

快速旁註:不知道這是否有幫助,但如果我從VB應用程序發送GET請求,它沒有__cfduid cookie工作正常。

+0

這是在firefox-> site請求,還是server-> firefox的響應?如果它在響應中,那麼它是一個無效的cookie。對於一個請求來說也不是特別好,因爲它應該更像'key = value'。 –

+0

不確定你的意思,我對這個領域的知識缺乏道歉。我可以在HTTP REQUEST頭中看到cookie,即當我將請求發送到服務器時 – Matt

+0

服務器應該發送一個Set-Cookie:http頭 - 這是在Cookie:頭上發回的值,對吧?難道你不能剝奪這個價值,並根據你的要求發回它? – Kylar

回答

1

尋找一個Set-Cookie頭從服務器回來的響應。它將期望在Cookie:標題中的後續請求中返回該值。這個值通常是一個不透明的字符串,按照路徑進行分類,儘管並非總是如此。