2012-09-23 83 views
2

我想從pokerplatforms網頁中獲取一些信息。libCURL和持久性cookies

爲此,我需要在https網頁「www.name.com」上登錄(發佈)。但是信息被放置在一個子域名「poker.name.com」上。登錄工作得很好,但是當我從子域獲取網站時,libcurl用新的cookie設置了一個新的連接對象。然後我得到一個頁面提醒我,我必須登錄。

現在我的問題是我如何強制libcurl使用相同的連接或至少相同的cookie從子域獲取頁面。

編輯: 不是我的quetsion的解決方案,但工作正常:我剛登錄到子域。登錄skript也存在。

回答

4

當您爲libcurl句柄啓用cookie時,您可以在隨後的請求中重新使用該句柄,並且libcurl將自動使用cookie。

如果您堅持要關閉手柄並創建新手柄,那麼CURLOPT_COOKIEJAR是您希望將cookie保存到文件中的選項,然後CURLOPT_COOKIEFILE可以隨後從這樣的文件中再次讀取它們。或者,您可以使用libcurl的share interface來讓多個句柄共享cookie。

然後,爲了「正確」模仿這樣的網站上的瀏覽器,您應該記錄在手動會話期間發送和接收的HTTP標頭,以便確保您的程序使用相同的URL和數據你的瀏覽器沒有。

+0

不錯,當我正確你是libCURL的作者。謝謝你的lib很棒。但我有一個重大問題。如果你能看一看,會很友善。 http://stackoverflow.com/questions/12592328/err-remove-thread-state-linker-error-on-libcurl-usage – ManuelSchneid3r

+0

我是,但是,不要把stackoverflow誤解爲所有問題的支持論壇。 –

+0

我正在爲每個請求創建一個新捲曲並在之後將其摧毀。我需要它在我的應用程序中併發(在某些情況下會發生這種情況),所以傳遞舊的句柄將不起作用。你能否介紹一下如何從舊捲曲中傳遞曲奇? –