У меня есть следующие C# программы:удаленный хост не может быть решена:
using System;
using System.IO;
using System.Net;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string sourceUri = "http://tinyurl.com/22m56h9";
var request = WebRequest.Create(sourceUri);
try
{
//Edit: request = WebRequest.Create(sourceUri);
request.Method = "HEAD";
var response = request.GetResponse();
if (response != null)
{
Console.WriteLine(request.GetResponse().ResponseUri);
}
}
catch (Exception exception) {
Console.WriteLine(exception.Message);
}
Console.Read();
}
}
}
Если запустить мою программу с sourceUri = «http://tinyurl.com/22m56h9» everithing в порядке, я просто получаю назначение канала tinyurl.
Но если запустить мою программу с помощью ссылки tinyurl, которая перенаправляется на сайт, помеченный как вредоносное ПО, мой код генерирует исключение: The remote host could not be resolved: '...'
. Мне нужно получить uri ссылки вредоносного ПО, потому что я хочу сделать приложение, которое ищет некоторый тест для ссылки и возвращает, если они являются вредоносными программами или нет, и если ссылка была уменьшена (в случае выше), мне нужно знать, где перенаправляется.
Итак, мой вопрос: «Я что-то не так в коде?» или Есть ли лучший aproach при тестировании, если ссылка является перенаправлением или нет? Заранее благодарю
Просто обратите внимание, что вам не нужно дважды «создавать» веб-запрос. –
Хорошее замечание. Спасибо – cristian
Так оно: '22m5.6h9' или' 22m56h9'? – leppie