Подтвердить что ты не робот

Веб-запрос через прокси с помощью RestSharp

Я пытаюсь сделать webrequest через прокси на телефоне Windows 7. Из того, что я вижу, Compact Framework не включает настройку прокси для объекта HttpWebRequest. Я попытался использовать RestSharp, но RestClient также не позволяет этого. Я также попробовал настроить параметры Интернета на моей локальной машине, чтобы использовать прокси-сервер, скачу, что те же самые параметры будут применены к моему эмулятору Windows Phone. Это не сработало. У вас есть идеи?

4b9b3361

Ответ 1

Под разделом "конфигурации" в Web.config добавьте это:

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true"></defaultProxy>
</system.net>

(для получения дополнительной информации - MSDN - Элемент defaultProxy (Настройки сети))

Ответ 2

Для людей, приезжающих из Google, которые смотрят, как установить прокси с RestSharp, если вы не находитесь на Windows Phone, по крайней мере, с версии 104.4.0 вы можете сделать следующее:

var client = new RestClient("http://example.com")
client.Proxy = new WebProxy("http://proxy.example.com")

Не знаю, будет ли это работать на Windows Phone, так как я не знаком с каркасом там; так как название вопроса не содержало Windows Phone, я подумал, что многие, как я, оказались бы здесь, просто ищу о том, как настроить прокси с помощью RestSharp.

Ответ 3

Пример использования метода и класса: Звонок:

            var client = new RestClient(urlbase);
            if(myConfigInstance.ProxyActive) {
                 client.Proxy = GetWebProxy(myConfigInstance);
            }

и метод:

  public static WebProxy GetWebProxy(ProxySettings proxySettings)
    {
        WebProxy proxy;
        try
        {
            proxy = new WebProxy(proxySettings.Server, Int32.Parse(proxySettings.Port))
            {
                Credentials = new NetworkCredential(proxySettings.Username, proxySettings.Password, proxySettings.Domain)
            };
        }
        catch (Exception ex)
        {
          throw new Exception("Error");
        }
        return proxy;
    }

и класс:

public class ProxySettings
{
    public bool ProxyActive { get; set; }
    public string Port { get; set; }
    public string Server { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string Domain { get; set; }
}

Ответ 4

Это сработало для меня.

String url = "some url";

IWebProxy proxy = WebRequest.DefaultWebProxy;
proxy.Credentials = CredentialCache.DefaultCredentials;
RestClient client = new RestClient(url);
{
Proxy = proxy,
};