Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 4
.NET 4.x

Ошибка пр выполнении https post запроса(500 internal server error)

18.12.2015, 12:28. Показов 2107. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Подскажите пож. в чём может быть ошибка. При размещении на сервер появляется ошибка - 500 Internal Server Error. Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
string path = "xxx.p12";
string path2 = "xxx.crt";
 
 
            X509Certificate2 certificate1 = new X509Certificate2(Server.MapPath("~/Files/" + path), "",      X509KeyStorageFlags.MachineKeySet);
            X509Certificate2 certificate2 = new X509Certificate2(Server.MapPath("~/Files/" + path2));
            X509Certificate2Collection certificates = new X509Certificate2Collection();
            certificates.Add(certificate1);
            certificates.Add(certificate2);
            X509Certificate2 certificate = certificates[0];
 
            HttpWebRequest request = (HttpWebRequest)
            WebRequest.Create(uri); 
            request.KeepAlive = false;
            request.ProtocolVersion = HttpVersion.Version10;
            request.Method = "Post";
            request.Timeout = 1000;
          
          
 
            byte[] postBytes = Encoding.UTF8.GetBytes(post_data);
 
            
            request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
            request.ContentType = "application/x-www-form-urlencoded";
            request.AllowAutoRedirect = true;
            request.ContentLength = postBytes.Length;
            request.Credentials = CredentialCache.DefaultCredentials;
            
            request.Proxy = null;
          
            request.ClientCertificates.Add(certificate);
 
            Stream requestStream = request.GetRequestStream();
            requestStream.Write(postBytes, 0, postBytes.Length);
            requestStream.Close();
            XmlDocument doc = null;
            
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                doc = new XmlDocument();
                doc.LoadXml(reader.ReadToEnd());
              
            }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.12.2015, 12:28
Ответы с готовыми решениями:

Laravel. POST - 500 Internal Server Error. Connection: close
В общем, что имеем: С Laravel практически не знаком, просто понравился один сайтовый движок aka CMS на нем написанный. Собственно, вот...

POST http://mysite/myfile.php 500 (Internal Server Error)
Добрый день. Пытаюсь через ajax получить инфу из базы. Скрипт обращается к файлу myfile.php. Проблема в том, что если в файле написано...

Ошибка 500 Internal Server Error
тестирую сайт изготовленный на dreamweaver, и возникла следующая проблема: набираю в браузере: mysite.ru/page ...

5
 Аватар для Andrey PSt
174 / 172 / 34
Регистрация: 23.12.2015
Сообщений: 300
Записей в блоге: 3
24.12.2015, 14:04
А что если разрешить серверу работать с любым сертификатом:
C#
1
2
3
4
5
6
7
public class CertificateValidation
{
    public static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
    {
        return true;
    }
}
0
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 4
24.12.2015, 15:21  [ТС]
Спасибо. Попробовал так сделать, всё равно не работает.

C#
1
2
3
4
5
6
7
8
9
public static bool ValidateRemoteCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            return true;
        }
 
 
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(
                           ValidateRemoteCertificate
                       );
0
 Аватар для Andrey PSt
174 / 172 / 34
Регистрация: 23.12.2015
Сообщений: 300
Записей в блоге: 3
24.12.2015, 22:06
А какую задачу вы решаете?
У меня класс CertificateValidation - прописан отдельно в win forme
а уж в процедуре Form1_Load я вызываю функцию из этого класса

C#
1
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CertificateValidation.ValidateServerCertificate)
и далее уже в другой процедуре делаю POST запрос на сервер с https
0
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 4
25.12.2015, 21:33  [ТС]
У меня тоже класс ValidateRemoteCertificate прописан отдельно. И в методе ActionResult вызываю функцию:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 public ActionResult UserInfo()
{
 
 
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(
                           ValidateRemoteCertificate  );
string path = "xxx.p12";
string path2 = "xxx.crt";
 
 
X509Certificate2 certificate1 = new X509Certificate2(Server.MapPath("~/Files/" + path), "",      X509KeyStorageFlags.MachineKeySet);
            X509Certificate2 certificate2 = new X509Certificate2(Server.MapPath("~/Files/" + path2));
            X509Certificate2Collection certificates = new X509Certificate2Collection();
            certificates.Add(certificate1);
            certificates.Add(certificate2);
            X509Certificate2 certificate = certificates[0];
 
            HttpWebRequest request = (HttpWebRequest)
            ......                     
 
 
 
 
 
}
0
 Аватар для Andrey PSt
174 / 172 / 34
Регистрация: 23.12.2015
Сообщений: 300
Записей в блоге: 3
25.12.2015, 22:31
А зачем вы продолжаете подключать сертификаты? Вы ведь указали, что работать с любым сертификатом.

Далее нужно просто формировать ваш POST запрос:

C#
1
2
3
4
5
6
7
8
  
 
            HttpWebRequest request = (HttpWebRequest)
            WebRequest.Create(uri); 
            request.KeepAlive = false;
            request.ProtocolVersion = HttpVersion.Version10;
            request.Method = "Post";
            request.Timeout = 1000;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2015, 22:31
Помогаю со студенческими работами здесь

ошибка 500 Internal Server Error
Добрый вечер. Помогите пожалуйста с моей проблемой. На сайте иногда появляется ошибка: 500 Internal Server Error, что за проблема? Читал,...

Ошибка internal server error 500
Сайт на Wordpress залит на хостинг с ограничением PHP memory_limit 128Мб. Плагинов много, следовательно нагрузка большая. При обычном...

Ошибка 500 Internal Server Error
Добрый день. Есть на Битриксе Интранет портал. Там есть инфоблок "График отсутствий". Если я в админ-панеле пытаюсь зайти в этот...

ошибка 500 Internal Server Error
Как сделать проверку на ошибку 500 ?? Вот код для получения ссылки на картинку, если запрос не ошибка, возвращает ссылку на...

Ошибка: 500 Internal Server Error
Здравствуйте! Делаю форму обратной связи по уроку http://www.alexdesignstudio.ru/flashform.php, с флешки данные получаются, а вот письмо не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru