HttpWebRequest возвращает (400) неверный запрос в ASP - IIS - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу отправить уведомление с OneSignal API в asp и IIS. Но он вернул «HttpWebRequest возвращает (400) неверный запрос». Все параметры данных верны; Я думаю, что проблема связана с брандмауэром IIS или чем-то вроде allow_url_fopen в PHP. Вот мой код:

var request = WebRequest.Create("https://onesignal.com/api/v1/notifications") as HttpWebRequest;

                    request.KeepAlive = true;
                request.Method = "POST";
                request.ContentType = "application/json; charset=utf-8";

                request.Headers.Add("authorization", "Basic " + REST_API_KEY);

                var serializer = new JavaScriptSerializer();
                var obj = new
                {
                    app_id = APP_ID,
                    contents = new { en = ApplicantUser.UserName + " challenged you!" },
                    include_player_ids = new string[] { UserNotificationId },
                    data = new Dictionary<string, string>() { { "ApplicantId", ApplicantUser.ID.ToString() },
                        { "ChallengeApplicant", ApplicantUser.UserName },
                        { "ChallengeAmount", ChallengeAmount },
                    { "ApplicantLevel", ApplicantUser.Level.ToString() } }

                };


                var param = serializer.Serialize(obj);
                byte[] byteArray = Encoding.UTF8.GetBytes(param);

                string responseContent = null;

                    using (var writer = request.GetRequestStream())
                    {
                        writer.Write(byteArray, 0, byteArray.Length);
                    }

                    using (var response = request.GetResponse() as HttpWebResponse)
                    {
                        using (var reader = new StreamReader(response.GetResponseStream()))
                        {
                            responseContent = reader.ReadToEnd();
                        }
                    }


...