CronetEngine.Builder

class CronetEngine.Builder


یک سازنده برای CronetEngine s، که امکان پیکربندی زمان اجرا CronetEngine را فراهم می‌کند. گزینه‌های پیکربندی روی سازنده تنظیم می‌شوند و سپس build برای ایجاد CronetEngine فراخوانی می‌شود.

خلاصه

انواع تو در تو

کلاسی که روشی برای بارگذاری کتابخانه بومی cronet ارائه می‌دهد.

ثابت‌ها

const Int

تنظیم برای غیرفعال کردن حافظه پنهان HTTP.

const Int

تنظیم برای فعال کردن حافظه پنهان روی دیسک، از جمله داده‌های HTTP.

const Int

تنظیم برای فعال کردن حافظه پنهان روی دیسک، به استثنای داده‌های HTTP.

const Int

تنظیم برای فعال کردن حافظه پنهان HTTP در حافظه، شامل داده‌های HTTP.

سازندگان عمومی

Builder (context: Context !)

یک شیء Builder می‌سازد که ایجاد CronetEngine را تسهیل می‌کند.

کارکردهای عمومی

CronetEngine.Builder !
addPublicKeyPins (
hostName: String !,
pinsSha256: ( Mutable ) Set < ByteArray !>!,
includeSubdomains: Boolean ,
expirationDate: Date !
)

مجموعه‌ای از کلیدهای عمومی را برای یک میزبان مشخص پین می‌کند.

CronetEngine.Builder !
addQuicHint (host: String !, port: Int , alternatePort: Int )

اشاره‌ای اضافه می‌کند که host از QUIC پشتیبانی می‌کند.

CronetEngine !
build ()

با استفاده از پیکربندی این سازنده، یک CronetEngine بسازید.

CronetEngine.Builder !

تنظیم می‌کند که آیا فشرده‌سازی Brotli فعال باشد یا خیر.

CronetEngine.Builder !
enableHttp2 (value: Boolean )

فعال بودن پروتکل HTTP/2 را تنظیم می‌کند.

CronetEngine.Builder !
enableHttpCache (cacheMode: Int , maxSize: Long )

ذخیره سازی موقت داده‌های HTTP و سایر اطلاعات مانند اطلاعات سرور QUIC را فعال یا غیرفعال می‌کند.

CronetEngine.Builder !

تخمین‌گر کیفیت شبکه را فعال می‌کند، که اندازه‌گیری‌های زمان رفت و برگشت (RTT) و توان عملیاتی پایین‌دست را در لایه‌های مختلف پشته شبکه جمع‌آوری و گزارش می‌کند.

CronetEngine.Builder !

دور زدن پین‌گذاری کلید عمومی را برای لنگرهای اعتماد محلی فعال یا غیرفعال می‌کند.

CronetEngine.Builder !
enableQuic (value: Boolean )

تنظیم می‌کند که آیا پروتکل QUIC فعال باشد یا خیر.

String !

یک رشته‌ی User-Agent شامل نام و نسخه برنامه، نسخه ساخت سیستم، مدل و شناسه و نسخه Cronet می‌سازد.

CronetEngine.Builder !
CronetEngine.Builder !

رفتار انتقال اتصال را پیکربندی می‌کند.

CronetEngine.Builder !

رفتار جستجوی نام میزبان را پیکربندی می‌کند.

CronetEngine.Builder !
CronetEngine.Builder !

یک LibraryLoader برای بارگذاری کتابخانه بومی تنظیم می‌کند.

CronetEngine.Builder !
setProxyOptions (proxyOptions: ProxyOptions )

رفتار پروکسی را پیکربندی می‌کند.

CronetEngine.Builder !
CronetEngine.Builder !

رفتار Cronet را هنگام استفاده از QUIC پیکربندی می‌کند.

CronetEngine.Builder !

دایرکتوری را برای HTTP Cache و Cookie Storage تنظیم می‌کند.

CronetEngine.Builder !
setThreadPriority (priority: Int )

این تابع منسوخ شده است.

در نسخه‌های مدرن Cronet، این روش هیچ کاری انجام نمی‌دهد.

CronetEngine.Builder !
setUserAgent (userAgent: String !)

هدر User-Agent را برای همه درخواست‌ها لغو می‌کند.

املاک حفاظت‌شده

JSONObject !

نمایش JSON از گزینه‌های آزمایشی.

ثابت‌ها

HTTP_CACHE_غیرفعال

const val HTTP_CACHE_DISABLED = 0: Int

تنظیم برای غیرفعال کردن حافظه پنهان HTTP. برخی از داده‌ها ممکن است هنوز به طور موقت در حافظه ذخیره شوند. به enableHttpCache ارسال می‌شود.

HTTP_CACHE_DISK

const val HTTP_CACHE_DISK = 3: Int

تنظیم برای فعال کردن حافظه پنهان روی دیسک، شامل داده‌های HTTP. setStoragePath باید قبل از ارسال این ثابت به enableHttpCache فراخوانی شود.

HTTP_CACHE_DISK_NO_HTTP

const val HTTP_CACHE_DISK_NO_HTTP = 2: Int

تنظیم برای فعال کردن حافظه پنهان روی دیسک، به استثنای داده‌های HTTP. setStoragePath باید قبل از ارسال این ثابت به enableHttpCache فراخوانی شود.

HTTP_CACHE_IN_MEMORY

const val HTTP_CACHE_IN_MEMORY = 1: Int

تنظیم برای فعال کردن حافظه پنهان HTTP در حافظه، شامل داده‌های HTTP. به enableHttpCache ارسال شد.

سازندگان عمومی

سازنده

Builder(context: Context!)

یک شیء Builder می‌سازد که ایجاد CronetEngine را تسهیل می‌کند. پیکربندی پیش‌فرض HTTP/2 و QUIC را فعال می‌کند، اما حافظه پنهان HTTP را غیرفعال می‌کند.

پارامترها
context: Context !

Android Context ، که توسط Builder برای بازیابی context برنامه استفاده می‌شود. فقط یک ارجاع به context برنامه نگه داشته می‌شود تا از افزایش غیرضروری طول عمر context جلوگیری شود.

کارکردهای عمومی

اضافه کردن پین‌های کلید عمومی

fun addPublicKeyPins(
    hostName: String!,
    pinsSha256: (Mutable)Set<ByteArray!>!,
    includeSubdomains: Boolean,
    expirationDate: Date!
): CronetEngine.Builder!

مجموعه‌ای از کلیدهای عمومی را برای یک میزبان مشخص پین می‌کند. با پین کردن مجموعه‌ای از کلیدهای عمومی، pinsSha256 ، ارتباط با hostName برای احراز هویت با یک گواهی با کلید عمومی از مجموعه کلیدهای پین شده مورد نیاز است. یک برنامه می‌تواند کلید عمومی گواهی ریشه، هر یک از گواهی‌های میانی یا گواهی ورود نهایی را پین کند. اگر هیچ یک از کلیدهای عمومی در زنجیره گواهی میزبان وجود نداشته باشد، حتی اگر میزبان سعی کند با گواهی مجاز توسط مخزن گواهی‌های مورد اعتماد دستگاه، احراز هویت کند، احراز هویت با شکست مواجه می‌شود و ارتباط امن برقرار نخواهد شد.

فراخوانی این متد چندین بار با نام میزبان یکسان، پین‌های تنظیم‌شده‌ی قبلی برای میزبان را لغو می‌کند.

اطلاعات بیشتر در مورد پین کردن کلید عمومی را می‌توانید در RFC 7469 بیابید.

پارامترها
hostName: String !

نام میزبانی که کلیدهای عمومی باید به آن پین شوند. میزبانی که فقط از اعداد و کاراکتر نقطه تشکیل شده باشد، نامعتبر تلقی می‌شود.

pinsSha256: ( Mutable ) Set < ByteArray !>!

مجموعه‌ای از پین‌ها. هر پین، هش رمزنگاری SHA-256 از نمایش ASN.1 کدگذاری شده توسط DER از اطلاعات کلید عمومی موضوع (SPKI) گواهی X.509 میزبان است. Certificate.getPublicKey() و Key.getEncoded() برای دریافت نمایش ASN.1 کدگذاری شده توسط DER از SPKI استفاده کنید. اگرچه، این روش وجود پین پشتیبان را که در صورت از دست رفتن کنترل کلید خصوصی اصلی قابل استفاده است، الزامی نمی‌کند، اما اکیداً توصیه می‌شود که یکی از آنها را ارائه دهید.

includeSubdomains: Boolean

نشان می‌دهد که آیا سیاست پین کردن باید روی زیردامنه‌های hostName اعمال شود یا خیر.

expirationDate: Date !

تاریخ انقضای پین‌ها را مشخص می‌کند.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

پرتاب‌ها
java.lang.NullPointerException

اگر هر یک از پارامترهای ورودی null باشند.

java.lang.IllegalArgumentException

اگر نام میزبان داده شده نامعتبر باشد یا pinsSha256 شامل یک آرایه بایت باشد که یک هش معتبر SHA-256 را نشان نمی‌دهد.

addQuicHint

fun addQuicHint(host: String!, port: Int, alternatePort: Int): CronetEngine.Builder!

اشاره‌ای اضافه می‌کند که host از QUIC پشتیبانی می‌کند. توجه داشته باشید که enableHttpCache ( HTTP_CACHE_DISK ) برای استفاده از برقراری اتصال 0-RTT بین جلسات مورد نیاز است.

پارامترها
host: String !

نام میزبان سروری که از QUIC پشتیبانی می‌کند.

port: Int

میزبان سروری که از QUIC پشتیبانی می‌کند.

alternatePort: Int

پورت جایگزین برای استفاده از QUIC.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

ساختن

fun build(): CronetEngine!

با استفاده از پیکربندی این سازنده، یک CronetEngine بسازید.

بازگشت‌ها
CronetEngine !

CronetEngine ساخته شده است.

فعال کردنBrotli

fun enableBrotli(value: Boolean): CronetEngine.Builder!

تنظیم می‌کند که آیا فشرده‌سازی Brotli فعال باشد یا خیر. در صورت فعال بودن، Brotli در هدرهای درخواست Accept-Encoding نمایش داده می‌شود. مقدار پیش‌فرض غیرفعال است.

پارامترها
value: Boolean

برای فعال کردن Brotli true و برای غیرفعال کردن از false استفاده کنید.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

فعال کردنHttp2

fun enableHttp2(value: Boolean): CronetEngine.Builder!

تنظیم می‌کند که آیا پروتکل HTTP/2 فعال باشد یا خیر. مقدار پیش‌فرض فعال است.

پارامترها
value: Boolean

برای فعال کردن HTTP/2 true و برای غیرفعال کردن از false استفاده کنید.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

فعال کردنHttpCache

fun enableHttpCache(cacheMode: Int, maxSize: Long): CronetEngine.Builder!

ذخیره سازی موقت داده‌های HTTP و سایر اطلاعات مانند اطلاعات سرور QUIC را فعال یا غیرفعال می‌کند.

پارامترها
cacheMode: Int

مکان و نوع داده‌های ذخیره‌شده را کنترل می‌کند. باید یکی از HTTP_CACHE_* باشد.

maxSize: Long

حداکثر اندازه (به بایت) مورد استفاده برای ذخیره داده‌ها در حافظه پنهان (توصیه می‌شود و ممکن است گاهی اوقات از حد مجاز فراتر رود).

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

enableNetworkQualityEstimator

fun enableNetworkQualityEstimator(value: Boolean): CronetEngine.Builder!

تخمین‌گر کیفیت شبکه را فعال می‌کند، که اندازه‌گیری‌های زمان رفت و برگشت (RTT) و توان عملیاتی پایین‌دست را در لایه‌های مختلف پشته شبکه جمع‌آوری و گزارش می‌کند. پس از فعال کردن تخمین‌گر، می‌توان شنونده‌های RTT و توان عملیاتی را با addRttListener و addThroughputListener اضافه و با removeRttListener و removeThroughputListener حذف کرد. تخمین‌گر فقط در صورت فعال بودن از حافظه و CPU استفاده می‌کند.

پارامترها
value: Boolean

برای فعال کردن تخمین‌گر کیفیت شبکه، true و برای غیرفعال کردن، false را وارد کنید.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

enablePublicKeyPinningBypassForLocalTrustAnchors

fun enablePublicKeyPinningBypassForLocalTrustAnchors(value: Boolean): CronetEngine.Builder!

فعال یا غیرفعال کردن بای‌پس پین‌گذاری کلید عمومی برای لنگرهای اعتماد محلی. غیرفعال کردن بای‌پس برای لنگرهای اعتماد محلی به شدت توصیه نمی‌شود زیرا ممکن است مانع از ارتباط برنامه با میزبان‌های پین‌شده شود. به عنوان مثال، ممکن است کاربر بخواهد با تغییر تنظیمات پروکسی دستگاه و افزودن گواهی پروکسی به لیست لنگر اعتماد محلی، تمام ترافیک را از طریق یک پروکسی فعال SSL ارسال کند. غیرفعال کردن بای‌پس به احتمال زیاد مانع از ارسال هرگونه ترافیک توسط برنامه به میزبان‌های پین‌شده می‌شود. برای اطلاعات بیشتر به بخش «پین‌گذاری کلید چگونه با پروکسی‌ها و فیلترهای محلی تعامل دارد؟» در https://www.chromium.org/Home/chromium-security/security-faq مراجعه کنید.

پارامترها
value: Boolean

برای فعال کردن بای‌پس، true و برای غیرفعال کردن، false را وارد کنید.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

فعال کردن

fun enableQuic(value: Boolean): CronetEngine.Builder!

فعال بودن پروتکل QUIC را تنظیم می‌کند. پیش‌فرض روی فعال است. اگر QUIC فعال باشد، شناسه عامل کاربر QUIC حاوی نام برنامه و نسخه Cronet به سرور ارسال می‌شود.

پارامترها
value: Boolean

برای فعال کردن QUIC true و برای غیرفعال کردن از false استفاده می‌شود.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

دریافت عامل کاربر پیش‌فرض

fun getDefaultUserAgent(): String!

یک رشته‌ی User-Agent شامل نام و نسخه برنامه، نسخه ساخت سیستم، مدل و شناسه و نسخه Cronet می‌سازد.

بازگشت‌ها
String !

رشته‌ی عامل کاربر.

گزینه‌های مهاجرت اتصال را تنظیم کنید

@ConnectionMigrationOptions.Experimental
fun setConnectionMigrationOptions(
    connectionMigrationOptionsBuilder: ConnectionMigrationOptions.Builder!
): CronetEngine.Builder!
همچنین ببینید
setConnectionMigrationOptions

گزینه‌های مهاجرت اتصال را تنظیم کنید

@ConnectionMigrationOptions.Experimental
fun setConnectionMigrationOptions(
    connectionMigrationOptions: ConnectionMigrationOptions!
): CronetEngine.Builder!

رفتار انتقال اتصال را پیکربندی می‌کند. برای جزئیات بیشتر، به مستندات ConnectionMigrationOptions و متدهای مجزای ConnectionMigrationOptions.Builder مراجعه کنید.

فقط در صورتی مرتبط است که enableQuic فعال باشد.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

تنظیمات DNS

@DnsOptions.Experimental
fun setDnsOptions(dnsOptions: DnsOptions!): CronetEngine.Builder!

رفتار جستجوی نام میزبان را پیکربندی می‌کند. برای جزئیات بیشتر، به مستندات DnsOptions و متدهای جداگانه‌ی DnsOptions.Builder مراجعه کنید.

فقط در صورتی مرتبط است که enableQuic فعال باشد.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

تنظیمات DNS

@DnsOptions.Experimental
fun setDnsOptions(dnsOptions: DnsOptions.Builder!): CronetEngine.Builder!
همچنین ببینید
setDnsOptions

setLibraryLoader

fun setLibraryLoader(loader: CronetEngine.Builder.LibraryLoader!): CronetEngine.Builder!

یک LibraryLoader برای بارگذاری کتابخانه بومی تنظیم می‌کند. اگر تنظیم نشود، کتابخانه با استفاده از loadLibrary بارگذاری خواهد شد.

پارامترها
loader: CronetEngine.Builder.LibraryLoader !

LibraryLoader برای بارگذاری کتابخانه بومی استفاده می‌شود.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

تنظیمات پروکسی

fun setProxyOptions(proxyOptions: ProxyOptions): CronetEngine.Builder!

رفتار پروکسی را پیکربندی می‌کند. این به روش‌های مختلفی تأثیر می‌گذارد: برقراری اتصالات، UrlRequest و BidirectionalStream ). برای جزئیات بیشتر، به مستندات Proxy مراجعه کنید.

این را نباید با پیکربندی پروکسی که توسط کاربر تنظیم شده است؛ یا برخی پیکربندی‌های پروفایل سازمانی، یا (به احتمال زیاد) برخی پیکربندی‌های خودکار شبکه (مثلاً پروتکل کشف خودکار پروکسی وب) اشتباه گرفت. این معمولاً به عنوان پیکربندی پروکسی "سیستم" شناخته می‌شود. در صورت وجود، رعایت پیکربندی پروکسی سیستم اغلب برای دستیابی به اتصال محلی و/یا اینترنتی الزامی است. CronetEngine از قبل پیکربندی پروکسی سیستم را به صورت داخلی مدیریت می‌کند.

پیکربندی پروکسی تعریف‌شده از طریق این API، پیکربندی پروکسی "برنامه" نامیده می‌شود. پیکربندی پروکسی برنامه و سیستم از هم جدا هستند و مهم‌تر از همه، با هم متفاوتند. در حال حاضر، پیکربندی‌های پروکسی برنامه و سیستم کاملاً منحصر به فرد هستند: تعیین ProxyOptions پیکربندی پروکسی سیستم را در صورت وجود، لغو می‌کند. این ممکن است در برخی سناریوها که پیکربندی پروکسی سیستم وجود دارد، باعث مشکلات اتصال شود. در چنین سناریوهایی، ممکن است کاربران به اینترنت دسترسی نداشته باشند، مگر اینکه ProxyOptions با یک جایگزین نهایی، null ، پیکربندی شده باشد. به مستندات ProxyOptions مراجعه کنید.

پارامترها
proxyOptions: ProxyOptions

ProxyOptions برای UrlRequest ، BiridirectionalStream و اتصالات ایجاد شده توسط CronetEngine ایجاد شده توسط این سازنده استفاده می‌شود.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

پرتاب‌ها
java.lang.UnsupportedOperationException

اگر پیاده‌سازی Cronet مورد استفاده برای پشتیبانی از ProxyOptions خیلی قدیمی باشد.

تنظیمات کوئیک

@QuicOptions.Experimental
fun setQuicOptions(quicOptionsBuilder: QuicOptions.Builder!): CronetEngine.Builder!
همچنین ببینید
setQuicOptions

تنظیمات کوئیک

@QuicOptions.Experimental
fun setQuicOptions(quicOptions: QuicOptions!): CronetEngine.Builder!

رفتار Cronet را هنگام استفاده از QUIC پیکربندی می‌کند. برای جزئیات بیشتر، به مستندات QuicOptions و متدهای جداگانه‌ی QuicOptions.Builder مراجعه کنید.

فقط در صورتی مرتبط است که enableQuic فعال باشد.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

تنظیم مسیر ذخیره‌سازی

fun setStoragePath(value: String!): CronetEngine.Builder!

دایرکتوری را برای HTTP Cache و Cookie Storage تنظیم می‌کند. این دایرکتوری باید وجود داشته باشد.

نکته: از یک دایرکتوری ذخیره‌سازی با بیش از یک CronetEngine به طور همزمان استفاده نکنید. دسترسی به دایرکتوری ذخیره‌سازی از دسترسی همزمان توسط چندین CronetEngine پشتیبانی نمی‌کند.

پارامترها
value: String !

مسیر به دایرکتوری موجود.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

اولویت نخ را تنظیم کنید

fun setThreadPriority(priority: Int): CronetEngine.Builder!

اولویت نخ داخلی Cronet را تنظیم می‌کند.

پارامترها
priority: Int

اولویت نخ نخ داخلی Cronet. یک سطح اولویت لینوکس، از -20 برای بالاترین اولویت زمان‌بندی تا 19 برای پایین‌ترین اولویت زمان‌بندی. برای اطلاعات بیشتر در مورد مقادیر، به مقادیر setThreadPriority و THREAD_PRIORITY_* مراجعه کنید.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

تنظیم عامل کاربر

fun setUserAgent(userAgent: String!): CronetEngine.Builder!

هدر User-Agent را برای همه درخواست‌ها لغو می‌کند. یک هدر User-Agent که به طور صریح تنظیم شده باشد (با استفاده از addHeader تنظیم می‌شود) با استفاده از این تابع، مقداری را که تنظیم شده است، لغو می‌کند.

پارامترها
userAgent: String !

رشته‌ی User-Agent برای استفاده در تمام درخواست‌ها.

بازگشت‌ها
CronetEngine.Builder !

سازنده برای تسهیل زنجیره‌سازی.

املاک حفاظت‌شده

گزینه‌های آزمایشی mParsed

protected val mParsedExperimentalOptionsJSONObject!

نمایش JSON از گزینه‌های آزمایشی.