你可能需要:xeHentai: 紳士漫畫多線程下載器

紳士網是一個著名的18x漫畫網站。

其主站g.e-hentai.org默認對象為全年齡向,因此打開不和諧內容時會蹦出小框框。
而exhentai.org是18x向的,不會跳框框,也有更多的資源。
oschina上有人寫了用urllib2抓站的python腳本,不怎麼好用,決定用httplib2重寫一個。
而exhentai.org是木有登陸頁面的,也就是無法從exhentai.org上直接登錄紳士(里)

於是用http analyzer抓了一下包(點擊看大圖):
點擊看大圖
然後第二個請求的詳細信息為:
點擊看大圖
因此是這麼個流程:

  1. 當訪問exhentai時檢查有無cookie,沒有則302到http://forums.e-hentai.org/remoteapi.php?ex=xxx1,這個頁面可以獲取e-hentai上已登錄的用戶的cookie,計算一個xxx2值
  2. 然後上面這個頁面返回302到http://exhentai.org/?poni=xxx2
  3. 上面這個返回set-cookie頭

其中,xxx1和xxx2都是base64編碼過的字元串;
xxx1解碼後結果類似為「1363873263-f5bc9e17b0」,大概是時間和它的md5 with salt
xxx2解碼後結果類似為’1043216-c036cef9fe30e7f918d0b058c7bcf3e8-1363873264-fca98963a9849f0d96f59e1fc702a6887ff31a28,大概是 用戶id-密碼md5 with salt-時間-前面這些的md5 with salt

嘛,反正直接GET最後那個頁面這種途徑是搞不定了;而且一開始還在想,yay又是個什麼東西……

其實……解決辦法是很簡單的。

瀏覽器中的cookie是有域限制的,(也因此exhentai才要這麼麻煩地來回302)。

然後哥就試了下直接把e-hentai的cookie用到exhentai上會怎麼樣

然後我非常神奇地看到了下面的輸出

擦……竟然正常返回了……看來yay是果然用來坑爹的……

看來不用CookieJar是有好處的=。=cookie這種東西果然還是自己動手豐衣足食啊

嗯這樣一來所有難點都解決了,嗯~