Форум программистов, компьютерный форум, киберфорум
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. Показов 2073. Ответов 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru