با سلام به دوستان برنامه نويس
بنده يك برنامه به زبان vb6 نوشته ام كه يك سري اطلاعات را به يك سازمان مي فرستد و سپس يك كد رهگيري دريافت مي كند.اين كار تا به حال با استفاده از كنترلر اينترنت وبا پروتكل http انجام مي شد،
بعنوان مثال اطلاعات مورد نياز سازمان را در يك استرينگ به نام strurl ذخيره ميكنم و اين رشته را به آدرس مربوطه به شكل ذيل ارسال مي كنم (inet1 نام كنترلر بر روي فرم است)
"...&strURL="http://rmc.ir/getcode.ashx/?& name=ali&famil=hasani
result = Inet1.OpenURL(str_URL, icString)
اما جديدا سازمان مربوطه مي خواهد ارسال اطلاعات بر اساس پروتكل امن https صورت گيرد.من با افزودن S به آخر http بضورت زير عمل كردم
"...&strURL="https://rmc.ir/getcode.ashx/?& name=ali&famil=hasani
Inet1.Protocol = icHTTPS
result = Inet1.OpenURL(str_URL, icString)
اما با اين كار اطلاعات ارسال نمي شود و خطا ميدهد!
ميخواستم ببينم چه تغييراتي بايد داده شود كه ارسال اطلاعات بصورت امن و با استفاده از https به سايت مربوطه ارسال شود؟
با سپاس از دوستان گرامي
منظور شما با استفاده از TLS هست گویا
که لازمش اینه
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3; using (var client = new HttpClient()) { client.BaseAddress = new Uri(apiUrl); client.DefaultRequestHeaders.Accept.Clear(); var w = client.PostAsJsonAsync(apiUrl, value); w.Wait(); HttpResponseMessage response = w.Result; if (response.IsSuccessStatusCode) { var result = response.Content.ReadAsAsync<T>(); result.Wait(); return result.Result; } return default(T); }
این برای محیط وب هستش حالا تبدیلش به چیزی که میخوای رو ...
مهمترین قسمتش اینه که باید .net 4.6 به بالا داشته باشی رو سیستمت احتمالا
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)