[JAVA] Parser MIME (JavaMail)

Parser MIME (JavaMail) [JAVA] - Java - Programmation

Marsh Posté le 22-08-2002 à 16:42:30    

:hello:  
 
Je dois faire un crawler de newsgroup (protocole NNTP) et j'aurais voulu savoir où je pourrais trouver un parser MIME en java.
 
Le but étant de pouvoir extraire tous les contenus et date des messages ainsi que les éventuels fichiers attachés.


Message édité par redant le 27-08-2002 à 15:36:16
Reply

Marsh Posté le 22-08-2002 à 16:42:30   

Reply

Marsh Posté le 22-08-2002 à 16:51:46    

euh ça va pas tout à fait repondre à ta question mais y'a un package qui fait du nntp ici
 
http://www.savarese.org/oro/softwa [...] nents.html
 
y'a ptet ce qu'il te fo dedans
 
 
 
edit: m'etais planted, c'etait pas chez jakarta


Message édité par --greg-- le 22-08-2002 à 16:56:24
Reply

Marsh Posté le 22-08-2002 à 17:01:42    

:jap:  
merci pour l'url ça répond à ma question

Reply

Marsh Posté le 22-08-2002 à 17:03:07    

scool [:phenos]
 
 
(un smiley par jour, 2 neurones, et le forum se porte bien)

Reply

Marsh Posté le 22-08-2002 à 17:37:38    

dans la license de l'API:
 
 
You acknowledge that Software is not designed, licensed or
intended for use in the design, construction, operation or maintenance of
any nuclear facility.
 
 
PTDR


Message édité par redant le 22-08-2002 à 17:37:52
Reply

Marsh Posté le 22-08-2002 à 17:38:32    

:lol:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 11:16:42    

En fait, je vais utiliser l'API de sun JavaMail.
 
http://java.sun.com/products/javam [...] index.html
 
J'ai réussi avec NNTP à stocker mes news dans des String mais je ne vois pas comment utiliser l'API pour les parser.
 
Je pensais au départ utiliser la classe MimeMessage mais comment créer des instances de cette classe à partir de String ?

Reply

Marsh Posté le 27-08-2002 à 11:20:03    

ben euh pq tu les stockes dans des strings...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 11:21:57    

comment les récupérer autrement ?

Reply

Marsh Posté le 27-08-2002 à 11:22:39    

ben euh ? en tant qu'objets MimeMessage nan?
ben en fait je sais pas hein :)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 11:22:39   

Reply

Marsh Posté le 27-08-2002 à 11:24:08    

le problème c que mon serveur NNTP renvoie des strings et rien d'autre

Reply

Marsh Posté le 27-08-2002 à 11:25:11    

ben ouais mais JavaMail parse ça pour toi quand tu lui demandes d'aller choper les news nan?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 11:26:06    

nan, JavaMail ne permet pas d'aller chercher les news NNTP

Reply

Marsh Posté le 27-08-2002 à 11:35:32    

ha oops.
et netcomponents oui? Mais il te donne accès qu'a des strings?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 11:38:19    

En fait le problème c'est que je peux pas utiliser NetComponents, mon chef ne veut pas  :sarcastic:  
 
J'ai juste le droit à JavaMail pour parser les news récupérée

Reply

Marsh Posté le 27-08-2002 à 11:40:44    

bah et comment tu les recuperes alors?
et pq il veut pas ???? n'importe quoi.
c'est super connu ce package en plus...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 11:44:42    

pour les récupérer les news j'ouvre une connexion sur le serveur et je communique avec le protocole NNTP.  
 
Pour netcomponents c parcequ'il veut pas de librairies supplémentaires (JavaMail est inclus dans J2SEE)

Reply

Marsh Posté le 27-08-2002 à 11:47:31    

redant a écrit a écrit :

pour les récupérer les news j'ouvre une connexion sur le serveur et je communique avec le protocole NNTP.  



quoi et tu cognes le protocole "à la main" ?
 

redant a écrit a écrit :

 
Pour netcomponents c parcequ'il veut pas de librairies supplémentaires (JavaMail est inclus dans J2SEE)


ouais il a raison, autant perdre son temps à faire mal des trucs qui existent bien faits... c'est quoi cet argument à 2 balles...  :sarcastic:  


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 11:53:56    

Citation :


quoi et tu cognes le protocole "à la main" ?  


 
il est pas super compliqué, ya une dizaine de commandes
 

Citation :


ouais il a raison, autant perdre son temps à faire mal des trucs qui existent bien faits... c'est quoi cet argument à 2 balles...  


 
vive mon chef  :bounce:  
 :sweat:


Message édité par redant le 27-08-2002 à 11:56:52
Reply

Marsh Posté le 27-08-2002 à 11:56:25    

:/


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 14:14:39    


 
J'ai trouvé une méthode dans la classe MimeMessage qui permettrait de parser un inputStream:
 

Code :
  1. protected  void parse(java.io.InputStream is)
  2.           Parse the InputStream setting the headers and content fields appropriately.


 
Ma nouvelle question:
Comment obtenir un inputStream à partir d'un String ?

Reply

Marsh Posté le 27-08-2002 à 14:21:16    

en utilisant StringReader


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 14:24:45    

je peux mettre un StringReader en entrée de la méthode parse ?

Reply

Marsh Posté le 27-08-2002 à 14:25:26    

redant a écrit a écrit :

je peux mettre un StringReader en entrée de la méthode parse ?



ben j'en sais rien mais à partir d'un StringReader tu dois pouvoir dégoter qqchose qui ressemble à un InputStream


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 14:28:37    


ya bien cette méthode
 

Code :
  1. public class StringBufferInputStream
  2. extends InputStream


 
mais elle est deprecated  :cry:

Reply

Marsh Posté le 27-08-2002 à 14:31:46    

redant a écrit a écrit :

 
ya bien cette méthode
 

Code :
  1. public class StringBufferInputStream
  2. extends InputStream


 
mais elle est deprecated  :cry:  



c'est une classe :o
oui en effet, et ils disent d'utiliser StringReader à la place :ange:
(ps: je vois pas comment faire un inputstream depuis un StringReader celà dit:/)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 14:33:20    


 

Citation :

c'est une classe :o


 
mon clavier a fourché...
 

Citation :

je vois pas comment faire un inputstream depuis un StringReader celà dit


 
moi non plus  :cry:

Reply

Marsh Posté le 27-08-2002 à 14:35:03    

euh c pas pour dire mais j'ai pas de méthode parse dans ma doc sur MimeMessage moi.....


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 14:39:19    


 
T'es sûr ?
 
classe:
 

Code :
  1. javax.mail.internet.MimeMessage


 
méthode:
 

Code :
  1. protected  void parse(java.io.InputStream is)
  2.           Parse the InputStream setting the headers and content fields appropriately.


 
 
sur cette doc:
 
http://java.sun.com/products/javam [...] index.html

Reply

Marsh Posté le 27-08-2002 à 14:45:07    

ha, protected.
nan dans ma doc y'a que les methods publiques je suppose.
comment tu comptes l'appeler cte methode si elle est pas publique....


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 14:48:18    

c'est une bonne question, j'avais même pas remarqué  :sweat:

Reply

Marsh Posté le 27-08-2002 à 14:49:32    

:D


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 14:49:35    

--greg-- a écrit a écrit :

ha, protected.
nan dans ma doc y'a que les methods publiques je suppose.
comment tu comptes l'appeler cte methode si elle est pas publique....




Tu fais une sous-classe qui comporte une méthode (publique) qui apelle parse(...) :D


Message édité par bobuse le 27-08-2002 à 14:49:58
Reply

Marsh Posté le 27-08-2002 à 14:49:56    

bobuse a écrit a écrit :

 
Tu fais une sous-classe qui comporte une méthode qui apelle parse(...) :D  



:(


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 14:57:33    

même si je trouve un moyen de l'appeler ça résoud pas mon problème de savoir ce que je lui donne en entrée

Reply

Marsh Posté le 27-08-2002 à 15:13:24    

heu et ben, déjà commence par mettre ton topic dans la rubrique Java (de programmation), comme ça, des gars hautement qualifiés pourront venir te secourir ... moi, je vois pas là :(

Reply

Marsh Posté le 27-08-2002 à 15:14:50    

y'a personne ajd...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 15:17:02    

---greg--- a écrit a écrit :

y'a personne ajd...




ouaip, ça doit être ça ! ça sent la rentrée  [:house deluxe]


Message édité par bobuse le 27-08-2002 à 15:27:07
Reply

Marsh Posté le 27-08-2002 à 15:17:44    

bobuse a écrit a écrit :

 
ouaip, ça doit être ça ! ça sent la rentrée  [:house deluxe]  



tu parles tout seul? :)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 27-08-2002 à 15:20:54    

redant a écrit a écrit :

même si je trouve un moyen de l'appeler ça résoud pas mon problème de savoir ce que je lui donne en entrée




[:tonton_benou]  

Code :
  1. new ByteArrayInputStream(taString.getBytes());


Message édité par benou le 27-08-2002 à 15:21:10
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed