Mettre un fichier distant sur le web dans un string

yodarkyodark Membre
13:51 modifié dans API AppKit #1
Bonjour à  tous !

J'ai une petite question ! Comment faire pour lire un fichier via HTTP et le mettre dans un string ?

j'ai tenté [NSString stringWithContentsOfFile:@"http://www.site.com/unfichier.htm"];

Merci d'avance

Réponses

  • Philippe49Philippe49 Membre
    13:51 modifié #2
    plutôt
    + (id)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error
  • yodarkyodark Membre
    13:51 modifié #3
    désolé je suis un peu nouveau en objective C :o

    j'ai de la peine a visualiser ce que va retourner le code que tu m'a envoyé... Il semblerait que c'est une fonction ? Comment faire pour stocker ca dans une variable ? genre

    lblMessage.text = [NSString stringWithFormat:@row %i was clicked., rowNumber];
  • Philippe49Philippe49 Membre
    août 2008 modifié #4
    Voici le source de cette page

    #import &lt;Foundation/Foundation.h&gt;<br />int main (int argc, const char * argv&#91;]) {<br />	NSAutoreleasePool * pool=[[NSAutoreleasePool alloc] init];<br /><br />	NSURL * url=[NSURL URLWithString:@&quot;http://www.objective-cocoa.org/forum/index.php/topic,2833.msg28134/topicseen.html#new&quot;];<br />	NSError * error;<br />	NSString * string=[NSString stringWithContentsOfURL:url encoding:NSISOLatin1StringEncoding error:&amp;error];<br />	if(string==nil) {<br />		NSLog(@&quot;Error : %@&quot;,error);<br />	} else {<br />		NSLog(@&quot;%@&quot;,string);<br />	}<br />	[pool drain];<br />	return 0;<br />}
    


    Essai sur la console (tu peux aussi mettre le main() dans une FoundationTool, si tu tiens à  utiliser XCode)

    % gcc pgm.m -o pgm -framework Foundation<br />% pgm<br />2008-08-14 12:21:41.432 pgm[1177:10b] &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;<br />	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=ISO-8859-1&quot; /&gt;<br />	&lt;meta name=&quot;description&quot; content=&quot;Mettre un fichier distant sur le web dans un string&quot; /&gt;<br />	&lt;meta name=&quot;robots&quot; content=&quot;noindex&quot; /&gt;<br />	&lt;meta name=&quot;keywords&quot; content=&quot;PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum&quot; /&gt;<br />	&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot; src=&quot;http://www.objective-cocoa.org/forum/Themes/default/script.js?fin11&quot;&gt;&lt;/script&gt;<br />	&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&gt;&lt;!-- // --&gt;&lt;![CDATA[<br />		var smf_theme_url = &quot;http://www.objective-cocoa.org/forum/Themes/Millenium11final&quot;;<br />		var smf_images_url = &quot;http://www.objective-cocoa.org/forum/Themes/Millenium11final/images&quot;;<br />		var smf_scripturl = &quot;http://www.objective-cocoa.org/forum/index.php&quot;;<br />		var smf_iso_case_folding = false;<br />		var smf_charset = &quot;ISO-8859-1&quot;;<br />	// ]]&gt;&lt;/script&gt;<br />	&lt;title&gt;Mettre un fichier distant sur le web dans un string&lt;/title&gt;<br />	&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://www.objective-cocoa.org/forum/Themes/Millenium11final/style.css?fin11&quot; /&gt;<br />	&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;http://www.objective-cocoa.org/forum/Themes/default/print.css?fin11&quot; media=&quot;print&quot; /&gt;<br />	&lt;link rel=&quot;help&quot; href=&quot;http://www.objective-cocoa.org/forum/index.php?action=help&quot; target=&quot;_blank&quot; /&gt;<br />	&lt;link rel=&quot;search&quot; href=&quot;http://www.objective-cocoa.org/forum/index.php?action=search&quot; /&gt;<br />	&lt;link rel=&quot;contents&quot; href=&quot;http://www.objective-cocoa.org/forum/index.php&quot; /&gt;<br />	&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;objective-cocoa - RSS&quot; href=&quot;http://www.objective-cocoa.org/forum/index.php?type=rss;action=.xml&quot; /&gt;<br /><br />etc ...<br />
    

  • Philippe49Philippe49 Membre
    13:51 modifié #5
    La doc se trouve dans NSStringReference et NSURLReference.

    Une modest étude se trouve en pdf dans les articles et ici en site web
  • Philippe49Philippe49 Membre
    13:51 modifié #6
    Maintenant l'encodage NSISOLatin1StringEncoding, qui marche dans ce cas, reste à  discuter ...
    On trouve la liste des constantes comme NSISOLatin1StringEncoding dans la page de NSString.

    Il faudrait voir si il ne serait pas plus sécurisé de passer par un intermédiaire
    NSData * data=[NSData initWithContentsOfURL:...];
    pour après traiter le problème de l'encodage sur le data déjà  rapatrié
Connectez-vous ou Inscrivez-vous pour répondre.