#[non_exhaustive]pub enum Emulation {
Show 75 variants
Chrome100,
Chrome101,
Chrome104,
Chrome105,
Chrome106,
Chrome107,
Chrome108,
Chrome109,
Chrome110,
Chrome114,
Chrome116,
Chrome117,
Chrome118,
Chrome119,
Chrome120,
Chrome123,
Chrome124,
Chrome126,
Chrome127,
Chrome128,
Chrome129,
Chrome130,
Chrome131,
Chrome132,
Chrome133,
Chrome134,
Chrome135,
Chrome136,
Chrome137,
SafariIos17_2,
SafariIos17_4_1,
SafariIos16_5,
Safari15_3,
Safari15_5,
Safari15_6_1,
Safari16,
Safari16_5,
Safari17_0,
Safari17_2_1,
Safari17_4_1,
Safari17_5,
Safari18,
SafariIPad18,
Safari18_2,
SafariIos18_1_1,
Safari18_3,
Safari18_3_1,
Safari18_5,
OkHttp3_9,
OkHttp3_11,
OkHttp3_13,
OkHttp3_14,
OkHttp4_9,
OkHttp4_10,
OkHttp4_12,
OkHttp5,
Edge101,
Edge122,
Edge127,
Edge131,
Edge134,
Firefox109,
Firefox117,
Firefox128,
Firefox133,
Firefox135,
FirefoxPrivate135,
FirefoxAndroid135,
Firefox136,
FirefoxPrivate136,
Firefox139,
Opera116,
Opera117,
Opera118,
Opera119,
}
Expand description
Represents different browser versions for impersonation.
The Emulation
enum provides variants for different browser versions that can be used
to emulation HTTP requests. Each variant corresponds to a specific browser version.
§Naming Convention
The naming convention for the variants follows the pattern browser_version
, where
browser
is the name of the browser (e.g., chrome
, firefox
, safari
) and version
is the version number. For example, Chrome100
represents Chrome version 100.
The serialized names of the variants use underscores to separate the browser name and
version number, following the pattern browser_version
. For example, Chrome100
is
serialized as "chrome_100"
.
§Examples
use wreq_util::Emulation;
let emulation = Emulation::Chrome100;
let serialized = serde_json::to_string(&emulation).unwrap();
assert_eq!(serialized, "\"chrome_100\"");
let deserialized: Emulation = serde_json::from_str(&serialized).unwrap();
assert_eq!(deserialized, Emulation::Chrome100);
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Chrome100
Chrome101
Chrome104
Chrome105
Chrome106
Chrome107
Chrome108
Chrome109
Chrome110
Chrome114
Chrome116
Chrome117
Chrome118
Chrome119
Chrome120
Chrome123
Chrome124
Chrome126
Chrome127
Chrome128
Chrome129
Chrome130
Chrome131
Chrome132
Chrome133
Chrome134
Chrome135
Chrome136
Chrome137
SafariIos17_2
SafariIos17_4_1
SafariIos16_5
Safari15_3
Safari15_5
Safari15_6_1
Safari16
Safari16_5
Safari17_0
Safari17_2_1
Safari17_4_1
Safari17_5
Safari18
SafariIPad18
Safari18_2
SafariIos18_1_1
Safari18_3
Safari18_3_1
Safari18_5
OkHttp3_9
OkHttp3_11
OkHttp3_13
OkHttp3_14
OkHttp4_9
OkHttp4_10
OkHttp4_12
OkHttp5
Edge101
Edge122
Edge127
Edge131
Edge134
Firefox109
Firefox117
Firefox128
Firefox133
Firefox135
FirefoxPrivate135
FirefoxAndroid135
Firefox136
FirefoxPrivate136
Firefox139
Opera116
Opera117
Opera118
Opera119
Implementations§
Source§impl Emulation
impl Emulation
Sourcepub fn random() -> EmulationOption
pub fn random() -> EmulationOption
Returns a random variant of the Emulation
enum.
This method uses a fast random number generator to select a random variant
from the Emulation::VARIANTS
array. The random number generator is based
on the XOR-Shift algorithm, which is efficient and suitable for use in
multi-threaded environments.
§Examples
use wreq_util::Emulation;
let random_emulation = Emulation::random();
println!("{:?}", random_emulation);
§Panics
This method will panic if the Emulation::VARIANTS
array is empty.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Emulation
impl<'de> Deserialize<'de> for Emulation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl EmulationProviderFactory for Emulation
======== Emulation impls ========
impl EmulationProviderFactory for Emulation
======== Emulation impls ========
Source§fn emulation(self) -> EmulationProvider
fn emulation(self) -> EmulationProvider
EmulationProvider
instance.impl Copy for Emulation
impl Eq for Emulation
impl StructuralPartialEq for Emulation
Auto Trait Implementations§
impl Freeze for Emulation
impl RefUnwindSafe for Emulation
impl Send for Emulation
impl Sync for Emulation
impl Unpin for Emulation
impl UnwindSafe for Emulation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.