Нам нужно принять вызов, который мы делаем в curl, и сделать эквивалентный вызов в C #.Он делает звонок, чтобы получить текстовый файл.Нам нужно использовать дайджест-проверку подлинности.
Вызов Curl:
curl -v -k --digest -u id:password --get "https://filebox.mcl4e.com/rest/1/list/inbox/?login=user&pwd=password" -o C:\file_list.txt
В настоящее время мы пробовали следующее, но получаем ошибочный запрос 400.
Uri uri = new Uri("https://filebox.mcl4e.com/rest/1/list/inbox/?login=user&pwd=password");
WebClient client = new WebClient();
CredentialCache credentialCache = new CredentialCache();
credentialCache.Add(new Uri("https://filebox.mcl4e.com"), // request url's host
"Digest", // authentication type
new NetworkCredential(id, password)); // credentials
client.Credentials = credentialCache;
client.DownloadFile(uri, @"C:\file_list.txt");
Я также попытался с кодом ниже и с полным URI (включая строку запроса):
credentialCache.Add(
new Uri(uri.GetLeftPart(UriPartial.Authority)),
"Digest",
new NetworkCredential("user", "password")
);
Любая помощь приветствуется.