Se avete la necessità di ridurre via codice un URL, da utilizzare nella vostra applicazione, come capita spesso agli utenti del noto Social Network Twitter, che hanno a disposizione massimo 140 caratteri per un singolo tweet, in cui spesso inseriscono un link, non dovrete far altro che sfruttare il metodo stringWithContentsOfURL dell’oggetto NSString come mostrato da brandontreb di iCodeBlog, riportato qui in basso.
In questo Tips viene usato il servizio trim_simple offerto da tr.im, in quanto questo restituisce direttamente una stringa con l’URL accorciato. Avremmo potuto lavorare anche con altri servizi simili presenti in rete, tipo bit.ly, ma quest’ultimo, ad esempio, restituisce una stringa JSON che avrebbe richiesto il parsing complicando sicuramente il tutto.
Di seguito il codice:
NSString *url = @"http://brandontreb.com";
NSString *apiEndpoint = [NSString stringWithFormat:@"http://api.tr.im/v1/trim_simple?url=%@",url];
NSString *shortURL = [NSString stringWithContentsOfURL:[NSURL URLWithString:apiEndpoint]
encoding:NSASCIIStringEncoding
error:nil];
NSLog(@"Long: %@ - Short: %@",url,shortURL);
// Outputs Long: http://brandontreb.com - Short: http://tr.im/MRDd










8 Responses to “TIPS#001 – Ridurre la dimensione degli URL sfruttando tr.im”
11 Febbraio 2010
AndreaGrandissimo, è da un po’ che volevo fare una rubrica così su BubiDevs ma mi hai rubato l’idea xDD
Grandi comunque!!
11 Febbraio 2010
MatthewBello questo tip! Con bit.ly ci si complica la vita e con tr.im il servizio lascia molto a desiderare… Se invece si volesse utilizzare is.gd? Stesso discorso di bit.ly? Grazie! 😀
11 Febbraio 2010
Staff devAPPHehe, grazie Andrea.. Anche noi ci stavamo pensando da un po’ 😉
12 Febbraio 2010
Staff devAPPNon ho mai usato quel servizio, ma possiamo dargli un’occhiata 😉
13 Febbraio 2010
MatthewBhe sono andato a dare un’occhiata alle API e l’unica informazione che ho capito è che per accorciare un link, il sito sfrutta il seguente URL: http://is.gd/api.php?longurl=http://www.example.com dove, al posto di http://www.example.com, va il link da accorciare…
Quindi se io vorrei implementare questo servizio in un’applicazione vale lo stesso discorso per tr.im?
16 Febbraio 2010
bebus77Si, funziona esattamente come tr.im, devi solo cambiare la parte di codice che sfrutta l’API e quindi scriverai cosi’:
NSString *url = @”http://brandontreb.com”;
NSString *apiEndpoint = [NSString stringWithFormat:@”http://is.gd/api.php?longurl=%@”,url];
NSString *shortURL = [NSString stringWithContentsOfURL:[NSURL URLWithString:apiEndpoint]
encoding:NSASCIIStringEncoding
error:nil];
NSLog(@”Long: %@ – Short: %@”,url,shortURL);
16 Febbraio 2010
MatthewGrazie mille bebus! ;D
17 Febbraio 2010
bebus77di nulla ! e’ un piacere