Safari Book est une librairie spécialisée
dans les livres techniques, on y trouve en particulier tous ceux de O'Reilly.

Pour 23 $ par mois vous pouvez lire 10 livres en ligne.

L'interface en ligne est trés bien. On peut naviguer facilement, faire des
recherches, poser des marques pages. Mais on ne peut télécharger que 5
chapitres au format PDF. Moi je prefererais un enregistrement automatique
des pages consultées pour les relire calmement hors ligne.
On peut les imprimer manuellement, mais c'est pas pratique.

Les pages sont au format SWF Macromedia Flash .

Et justement j'ai trouvé sauvegarder des videos flash .

Suivre un flux HTTP avec wireshark est trop fatiguant. Tcpflow avec un petit script Perl
qui reconstruit les fichier avec les en têtes HTTP, c'est plus pratique.

Là j'ai remarqué un truc bizzare tous les fichiers des pages SWF commence par:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
00000000  01 43 57 53 09 5b bc 00  00 78 9c 6c 9b 65 58 54  |.CWS.[...x.l.eXT|
00000010  51 d7 f7 d7 0c 8c c8 d0  30 84 94 a8 20 33 48 37  |Q.......0... 3H7|
00000020  48 0c dd 0d a2 b4 22 d2  02 12 02 12 03 52 82 41  |H............R.A|
00000030  23 29 9d 52 52 0a 82 80  60 80 74 09 2a 25 52 4a  |#).RR...`.t.*%RJ|
quand j'ai payé le livre.

Et par:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
HTTP/1.1 200 OK
Content-Length: 43490
Content-Type: binary/octet-stream
Expires: Mon, 05 Apr 1970 03:12:07 GMT
Server: SWS + Microsoft-HTTPAPI/2.0
Cache-Control: private
Date: Thu, 26 Nov 2009 21:42:00 GMT
Connection: keep-alive
 
.-..k..CWS      ....x....PT....f`..(..E..... 
.....M.[....[..x.3...8.p ...Y.wIEI...+..2...
quand je n'ai pas payé. En mode preview, ou j'ai seulement le début de la page.

Il y'a toujour avant le Magic Number CWS des octets? A quoi servent t'ils?

Comme le lecteur de safaribooksonline est lui même un SWF
my.safaribooksonline.com/static/200911-105-my/files/viewer.swf
il m'est impossible de voir son code.

Au final dans mon proxy j'efface tout simplement ces octets, et pour lire plus confortablement les pages hors ligne,
j'ai écrit un petit serveur avec HTTP::Server::Simple::CGI

Mais cette histoire d'octets m'énerve. Je suis allez voir sur ce site les pages sur Flash et sur le
CPAN les modules pour Flash, et je suis pas plus avancé.