4

我想在 MVC4 中使用 Tiny-URL API,有什么想法可以在我的解决方案中使用该 API?

我参考了它的文档,但它在 PHP 文档链接中

4

1 回答 1

0

您可以使用与此答案中相同的代码,但使用不同的 uri。

首先,您需要请求 API 密钥并apikey相应地设置变量。然后从 API 文档中选择您将使用的提供程序字符串(我在下面的示例中0_mk用于0.mk提供程序)。

然后你可以像这样编写 url 并发出请求:

string yourUrl = "http://your-site.com/your-url-for-minification";
string apikey = "YOUR-API-KEY-GOES-HERE";
string provider = "0_mk"; // see provider strings list in API docs
string uriString = string.Format(
    "http://tiny-url.info/api/v1/create?url={0}&apikey={1}&provider={2}&format=text",
    yourUrl, apikey, provider);

System.Uri address = new System.Uri(uriString);
System.Net.WebClient client = new System.Net.WebClient();
try
{
    string tinyUrl = client.DownloadString(address);
    Console.WriteLine(tinyUrl);
}
catch (Exception ex)
{
    Console.WriteLine("network error occurred: {0}", ex);
}

根据文档,默认格式是format=text,所以你不需要指定它。您也可以使用format=xmlorformat=json如果您愿意,但您需要解析输出(并且您将有state字段作为响应并且可能会处理错误)。

更新:使用 .NET 4.5 异步获取微小的 url await关键字可以与WebClient.DownloadStringAsync()函数一起使用(您应该在函数中执行此操作,用async关键字标记):

...
string tinyUrl = await client.DownloadStringAsync(uriString);
...
于 2015-04-27T05:00:18.160 回答