c# - Usando tinyurl.com en una aplicación.Net... ¿es posible?
asp.net api (5)
Encontré el siguiente código para crear una url de tinyurl.com:
http://tinyurl.com/api-create.php?url=http://myurl.com
Esto creará automáticamente una url tinyurl. ¿Hay alguna manera de hacer esto usando código, específicamente C # en ASP.NET?
Después de investigar un poco más ... me encontré con el siguiente código:
public static string MakeTinyUrl(string url)
{
try
{
if (url.Length <= 30)
{
return url;
}
if (!url.ToLower().StartsWith("http") && !Url.ToLower().StartsWith("ftp"))
{
url = "http://" + url;
}
var request = WebRequest.Create("http://tinyurl.com/api-create.php?url=" + url);
var res = request.GetResponse();
string text;
using (var reader = new StreamReader(res.GetResponseStream()))
{
text = reader.ReadToEnd();
}
return text;
}
catch (Exception)
{
return url;
}
}
Parece que puede hacer el truco.
Tenga en cuenta que si está haciendo una aplicación a gran escala, está conectando en una dependencia bastante específica al esquema URL / API de TinyURL. Tal vez tengan garantías de que su URL no cambia, pero vale la pena echarle un vistazo
Tienes que llamar a esa URL desde tu código, luego volver a leer la salida del servidor y procesarla.
Eche un vistazo a la clase System.Net.WebClient , DownloadString (o mejor: DownloadStringAsync ) parece ser lo que quiere.
Probablemente deberías agregar alguna comprobación de errores, etc., pero esta es probablemente la forma más fácil de hacerlo:
System.Uri address = new System.Uri("http://tinyurl.com/api-create.php?url=" + YOUR ADDRESS GOES HERE);
System.Net.WebClient client = new System.Net.WebClient();
string tinyUrl = client.DownloadString(address);
Console.WriteLine(tinyUrl);
Esto es muy fácil en .Net usaremos la API Tiny URL para generar una pequeña URL.
Para obtener más información, consulte el siguiente enlace.
http://www.freshcodehub.com/Article/38/convert-url-to-shorten-url-or-tiny-url-in-aspnet-with-c
public static string MakeTinyUrl(string Url)
{
try
{
if (Url.Length <= 12)
{
return Url;
}
if (!Url.ToLower().StartsWith("http") && !Url.ToLower().StartsWith("ftp"))
{
Url = "http://" + Url;
}
var request = WebRequest.Create("Need to put tiny URL API" + Url);
var res = request.GetResponse();
string text;
using (var reader = new StreamReader(res.GetResponseStream()))
{
text = reader.ReadToEnd();
}
return text;
}
catch (Exception)
{
return Url;
}
}