Просто перечитайте ваш вопрос.Как я понимаю, у вас есть сайт А, содержащий PDF, который защищен проверкой подлинности с помощью форм.У вас есть другой сайт B без аутентификации, и вы хотите сделать что-то на стороне B на сайте B в зависимости от того, существует ли ссылка на A.
Для этого вы можете сделать HttpWebRequest и проверить код состояния.401 означает, что ссылка существует, но требует аутентификации.404 означает, что он не существует.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse())
{
if (myHttpWebResponse.StatusCode == HttpStatusCode.Unauthorized)
{
// link exists, requires authentication
}
else if (myHttpWebResponse.StatusCode == HttpStatusCode.NotFound)
{
// link does not exists
}
}
В качестве альтернативы вы можете использовать учетную запись службы с известными учетными данными и аутентифицировать запрос.Аутентификация форм с помощью HttpWebRequest - непростая задача, поскольку в формах используется cookie-файл, который вам необходимо будет реплицировать.
Я должен сказать, что проектирование приложения таким способом не является хорошей идеей, и вам следует определенно рассмотреть возможность кэширования.Такие вызовы на стороне сервера снижают производительность и плохо масштабируются.