یک @ در گذرواژه پروکسی Java
گذرواژه خام را به PasswordAuthentication بدهید و کدگذاری URL را فقط هنگام ساختن یک URL واقعی پروکسی اعمال کنید.
java.net.PasswordAuthentication یک نام کاربری و آرایهای از کاراکترهای گذرواژه میگیرد. کاراکترهای اصلی گذرواژه را بدهید:
var credential = new java.net.PasswordAuthentication(
"proxy-user", "p@ssword".toCharArray());
این مقدار یک گذرواژه نمونه است. در کد برنامه، کاراکترهای واقعی را از منبع اعتبارنامه موردنظر بگیرید.
علامت @ درون این گذرواژه داده است، زیرا گذرواژه از قبل آرگومان خودش را دارد. تبدیل آن به p%40ssword پیش از سازنده، گذرواژه دیگری تحویل میدهد.
یک URL پروکسی نمایش دیگری از اعتبارنامه دارد. در URLی مانند http://proxy-user:p%[email protected]:8080، @ کدگذاریشده به اطلاعات کاربر تعلق دارد، در حالی که @ بعدی آن اطلاعات را از میزبان جدا میکند. بر اساس رابطی که واقعاً مقدار را مصرف میکند، رمزگشایی و کدگذاری کنید.
نقلقول پوسته، فرار رشتهای Java و کدگذاری درصدی URL هم مسائل تجزیه متفاوتی را حل میکنند. تعیین کنید کدام لایه ورودی را میخواند، به جای اینکه اعتبارنامه را مکرراً کدگذاری کنید تا رفتار یک درخواست تغییر کند.