Я искал SO и google и видел при этом только проблемы, к сожалению для меня, мой URL является частью системы текстовых сообщений Banks, и все, что у меня есть, это защищенный URL. Я должен написать тест, чтобы протолкнуть сообщение, но так как я не подключен к локальной сети банков, я не могу проверить или выполнить какие-либо следы и ошибки.
URL выглядит так:
https://example.com/send.aspx?msg=hi
Я использую приложение Windows Forms .net4 в C #.
Как выполнить POST с указанным выше URL-адресом, используя WebClient, или есть другой способ.
Я полагаю, что из других ответов мне нужен сертификат от сотрудников банка или есть варианты отказаться от использования шифрования.
Обновление
Круто, спасибо Евгению, я почти там. Я использовал веб-клиент, как этот ответ он не работал. Я изменил свой код на это, и это сработало:
static void Main(string[] args)
{
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(allowCert);
string url = "https://example.com/send.aspx?msg=hi";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream resStream = response.GetResponseStream();
StreamReader st = new StreamReader(resStream);
Console.WriteLine(st.ReadToEnd());
Console.ReadKey();
}
static bool allowCert(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error)
{
return true;
}
Бонусные баллы теперь за то, почему он работал таким образом и что делает этот код? (Он говорит: «Мне все равно, что разрешает сертификат»)