Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> настройка IWebProxy 
:(
    Опции темы
Mitrich212
Дата 26.6.2009, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.8.2007

Репутация: нет
Всего: нет



написал небольшой код, загружающий XML из сети. 
Гуру, пожалуйста, просветите!
Надо чтобы работала по-умолчанию с прокси и без и спрашивала пользовательские настройки(пароль порт и проч..) в крайнем случае 
В чем отличие DefaultProxy от SystemProxy и кого из них достаточно, чтобы при отсутствии proxy в сети программа работала. Можно ли один их них использовать и при NoProxy?

2. request.Credentials = CredentialCache.DefaultCredentials - это авторизация к запрашиваемому серверу? (имя/пароль) как их вводить один раз при работе программы? Что такое дефолтные значения. 


Код


    Private Enum eUseProxy
        NoProxy = 0
        DefaultProxy = 1
        SystemProxy = 2
        UseProxy = 3
    End Enum

  Private Function URl2XML(ByVal URL As String, ByVal UseProxy As eUseProxy, ByVal PS As ProxySettings) As XmlDocument
        Dim Doc As XmlDocument = New XmlDocument


        Dim request As HttpWebRequest = WebRequest.Create(URL) '("http://10.1.4.12/Test/XML/DemoMap.xml")

        Dim pWebProxy As IWebProxy = Nothing
        Select Case UseProxy
            Case eUseProxy.DefaultProxy
                pWebProxy = WebRequest.DefaultWebProxy
                pWebProxy.Credentials = CredentialCache.DefaultCredentials
            Case eUseProxy.SystemProxy
                pWebProxy = WebRequest.GetSystemWebProxy
                pWebProxy.Credentials = CredentialCache.DefaultCredentials
            Case eUseProxy.UseProxy
                pWebProxy = New WebProxy(PS.Host, PS.Port)
                pWebProxy.Credentials = New NetworkCredential(PS.User, PS.Pass, PS.Domain)
        End Select

' может статус NoProxy вообще можно не использовать? А заменить его на Дефолт или Систем? В этом вопрос.
        If UseProxy <> eUseProxy.NoProxy Then
            request.Proxy = pWebProxy
        End If

        request.Credentials = CredentialCache.DefaultCredentials


        ' Get the response.
        Dim response As HttpWebResponse
        Try
            response = CType(request.GetResponse(), HttpWebResponse)
        Catch ex As Exception
            MsgBox("Не удается обновить список" _
                   & vbNewLine & "Ошибка:" & vbNewLine & ex.Message)
            Return Nothing
        End Try


        If response.StatusCode = HttpStatusCode.OK Then
            ' Get the stream containing content returned by the server.
            Try
                Dim pStream As Stream = response.GetResponseStream()
                Doc.Load(pStream)
                pStream.Close()

            Catch ex As Exception
                MsgBox(ex.Message)
            End Try


        Else
            MsgBox("не удается обновить список" _
                   & vbNewLine & "Запрос по адресу " & URL _
                   & vbNewLine & "возвратил статус: " & response.StatusDescription)
        End If
        response.Close()

        Return Doc


    End Function

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.