No sé cómo funciona la API Twitterizer2 pero creo que se podría resolver su problema de dos maneras:
- Buscar en Twitter Oficial API algo que le ayuda a análisis sintáctico dichos enlaces (miro Tweet Entities);
- Descargue el contenido de esa URL y analícela;
Para el segundo enfoque que sugeriría algo así como la función de abajo (este análisis se basa en la primera imagen que he encontrado en mi pueblo, seguido tweets por lo funciona sólo para imágenes TwitPic):
private static Uri GetPicture(string twitterUri)
{
using (var webClient = new WebClient())
{
string html = webClient.DownloadString(twitterUri);
int imgIndex = html.IndexOf("<img class=\"photo\" id=\"photo-display\"");
int srcStartIndex = html.IndexOf("src", imgIndex) + 5;
int srcEndIndex = html.IndexOf("\"", srcStartIndex);
string imgSrc = html.Substring(srcStartIndex, srcEndIndex - srcStartIndex);
return new Uri(imgSrc);
}
}
Como se puede imaginar el uso es:
Uri imgUri = GetPicture("http://t.co/RQu9hZn8"); // this is a real image
Esto funcionará (para twitpic), pero tenga en cuenta que realizará llamadas web para cada imagen y que llevará tiempo y ancho de banda clasificar. –
¿Cómo descargarías una imagen sin hacer una llamada web? Acabo de proponer un método para extraerlos de un enlace * codificado *. Cómo maneja * las imágenes que muestran * depende de él :) –
Si está contando la llamada web para descargar los datos de la imagen, entonces su código realizará 2 llamadas web para cada imagen. Lo que está haciendo no extraería los datos de la imagen, sino la url de la imagen, que el cliente tendría que hacer otra llamada a esa url para descargar. De eso es de lo que estoy hablando, estás haciendo 1 llamada web adicional. Publiqué un enlace al código de muestra que obtendrá la url directamente desde twitter. Los datos ya están incluidos en los resultados. –