Как перенаправить вызов API с определенного прокси-сервера? - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть API, к которому я хочу получить доступ только с одного из моих прокси-серверов. Поскольку этот сервер предоставил весь доступ для доступа к этому конкретному API. Так что у меня есть одна конечная точка.

У меня есть URL-адрес и порт прокси-сервера, и я хочу добавить параметры прокси-сервера в мой файл настроек приложения и реализовать его таким образом, чтобы при вызове API этот конкретный вызов проходил через прокси-сервер.

Помогите, пожалуйста, как мне этого добиться?

Текущий вызов API, как показано ниже.

                            PushMessageAndroidRequest req = new PushMessageAndroidRequest();
                            req.registration_ids = list.Select(x => x.Token).ToList();
                            req.data = new AndroidData() { Payload = CommonLib.ConvertObjectToJson(payload) };

                            response = await RequestHandler.PostDataAsync<PushMessageResponse>(_appConfig.pushMessageConfigs.Url, req, new List<KeyValue>() { new KeyValue("Authorization", "key=" + _appConfig.pushMessageConfigs.Key) });

Пример кода написан

 public static async Task<ResJsonOutput> ProxyDataAsync(string ApiPath,string obj, List<KeyValue> Headers = null)
        {
            ResJsonOutput result = new ResJsonOutput();
            HttpResponseMessage response = new HttpResponseMessage();
            var requestUri = string.Format(ApiPath);
            var request = (HttpWebRequest)WebRequest.Create(requestUri);

                WebProxy myproxy = new WebProxy(Settings.ProxyAddress, Settings.ProxyPort);
                myproxy.BypassProxyOnLocal = false;
                request.Proxy = myproxy;

            using (WebResponse response = request.GetResponse())
            {
                using (StreamReader stream = new StreamReader(response.GetResponseStream()))
                {
                    //JObject jResponse = JObject.Parse(stream.ReadToEnd());
                    //var isSuccess = jResponse.Value<bool>("success");
                    //result = (isSuccess) ? true : false;
                }
            }
            return result;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...