PDA

View Full Version : خطای گرفتن اطلاعات با استفاده از WebApi در #C



RK977877
پنج شنبه 19 آبان 1401, 09:42 صبح
سلام مجدد خدمت شما . شرمنده مزاحم میشم. من از توی خود مرورگر که آدرسم رو فراخوانی میکنم اطلاعاتم رو میاره ولی وقتی از توی برنامه با HTTPClient آدرس رو فراخوانی میکنم با خطای WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
مواجه میشم . میشه بفرمائید مشکل چیه ؟ ممنون میشم ازتون

یونس ابراهیمی
جمعه 28 بهمن 1401, 11:46 صبح
سلام،


این خطا معمولا برای این اتفاق می‌افتد که شما به یک منبع امن (HTTPS) با اعتماد نامعتبر متصل می‌شوید. این می‌تواند بخاطر این باشد که سرور مبدأ شما یک گواهی SSL/TLS نامعتبر دارد یا گواهی SSL/TLS معتبر را ندارد.


برای رفع این خطا، می‌توانید روش‌های زیر را امتحان کنید:


۱. اطمینان حاصل کنید که آدرس URL مورد استفاده شما با پروتکل HTTPS شروع می‌شود و آدرس صحیح است.


۲. اگر شما به یک سرور داخلی متصل می‌شوید، اطمینان حاصل کنید که گواهی SSL/TLS مناسب برای سرور شما در نصب شده است.


۳. اگر شما به یک سرور خارجی متصل می‌شوید، باید بررسی کنید که گواهی SSL/TLS سرور در لیست اعتماد شما وجود دارد یا خیر. برای این کار می‌توانید با مراجعه به آدرس سایت خود، گواهی SSL/TLS را دریافت کنید و به لیست اعتماد خود اضافه کنید.


در نهایت، شما می‌توانید با استفاده از کلاس System.Net.ServicePointManager، تنظیمات امنیتی مربوط به SSL/TLS را تغییر دهید. به عنوان مثال، می‌توانید خط زیر را در برنامه خود قرار دهید:


System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
این کد، پروتکل امنیتی TLS 1.2 را فعال می‌کند. ممکن است لازم باشد که برخی از پروتکل‌های دیگر را نیز فعال کنید.