diff --git a/examples/emulation.rs b/examples/emulation.rs index 35bcfe6..4f995bc 100644 --- a/examples/emulation.rs +++ b/examples/emulation.rs @@ -5,7 +5,7 @@ use rquest_util::Emulation; async fn main() -> Result<(), rquest::Error> { // Build a client to emulation Firefox135 let client = Client::builder() - .emulation(Emulation::Firefox133) + .emulation(Emulation::Firefox135) .danger_accept_invalid_certs(true) .build()?; diff --git a/src/emulation/device/mod.rs b/src/emulation/device/mod.rs index 87f0b2d..b73f2ab 100644 --- a/src/emulation/device/mod.rs +++ b/src/emulation/device/mod.rs @@ -154,6 +154,7 @@ define_emulation_enum!( SafariIPad18 => "safari_ipad_18", Safari18_2 => "safari_18.2", SafariIos18_1_1 => "safari_ios_18.1.1", + Safari18_3 => "safari_18.3", OkHttp3_9 => "okhttp_3.9", OkHttp3_11 => "okhttp_3.11", OkHttp3_13 => "okhttp_3.13", @@ -310,6 +311,7 @@ impl EmulationProviderFactory for EmulationOption { Emulation::SafariIPad18 => safari_ipad_18::emulation, Emulation::Safari18_2 => safari18_2::emulation, Emulation::SafariIos18_1_1 => safari_ios_18_1_1::emulation, + Emulation::Safari18_3 => safari18_3::emulation, Emulation::OkHttp3_9 => okhttp3_9::emulation, Emulation::OkHttp3_11 => okhttp3_11::emulation, diff --git a/src/emulation/device/safari.rs b/src/emulation/device/safari.rs index 21a3fdc..d2ffd5d 100644 --- a/src/emulation/device/safari.rs +++ b/src/emulation/device/safari.rs @@ -434,3 +434,11 @@ mod_generator!( header_initializer_for_18, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Safari/605.1.15" ); + +mod_generator!( + safari18_3, + tls_config!(2, CIPHER_LIST_2, NEW_SIGALGS_LIST), + http2_config!(3), + header_initializer_for_18, + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15" +);