Удаленный сервер вернул ошибку: (403) запрещено.
Привет,
У меня есть проблема с чтением RSS-данных.
мой код таков
string url = "http://wwww.test.com"; XmlTextReader reader = new XmlTextReader(url); var xmlDocument = new XmlDocument(); xmlDocument.Load(reader);
Я получил эту ошибку
System.Net.WebException was caught HResult=-2146233079 Message=The remote server returned an error: (403) Forbidden. Source=System StackTrace: at System.Net.HttpWebRequest.GetResponse() at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy) at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy) at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn) at System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver) at System.Threading.CompressedStack.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Threading.CompressedStack.Run(CompressedStack compressedStack, ContextCallback callback, Object state) at System.Xml.XmlTextReaderImpl.OpenUrl() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at BatchJobshuntable.batchjobs.CompanyReviews.DynamicCompanies(Int32 cid, String url) in E:\29-10-2014 BatchjobCode\BatchJobshuntable\batchjobs\CompanyReviews.cs:line 75 InnerException:
Я не понимаю, почему он пришел.
Пожалуйста, помогите мне
Спасибо.
DamithSL
проверьте, есть ли у вашего приложения запущенная среда, имеющая доступ к данному сайту или нет.
если есть прокси-сервер, нет доступа в интернет, брандмауэры и т.д. могут препятствовать доступу к этому сайту через ваше приложение
NagaRaju Pesarlanka
спасибо что ответили мне,
2 дня назад тоже все работало нормально, теперь не работает,
никаких проблем с интернетом и настройкой брандмауэра. Все хорошо, но я не получаю доступа к url-адресу.
DamithSL
проверьте, что пользователь, запустивший вашу службу windows, имеет разрешения на доступ в интернет
NagaRaju Pesarlanka
Я использую консольное приложение.
все мои службы работают под управлением администратора.
DamithSL
при запуске консольного приложения из visual studio вы получаете ту же ошибку?
NagaRaju Pesarlanka
да.
NagaRaju Pesarlanka
ВС-2010
DamithSL
перейдите в папку bin, запустите ее от имени администратора и проверьте ошибку.
вы не возражаете, если я попрошу фактический rss-url?
NagaRaju Pesarlanka
Я получил решение.
Веб-клиент веб-клиент = новый Вебклиент();
служба WebClient.Headers.Add("user-agent", "MyRSSReader/1.0");
Читатели XmlReader = XmlReader.Создание(веб-клиента.OpenRead(url));
ВАР XmlDocument объект = новый объект XmlDocument();
объект XmlDocument.Нагрузка(читатели);