wreq 1.2.9 → 1.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Cargo.lock +1 -1
- data/Cargo.toml +1 -1
- data/README.md +1 -1
- data/crates/wreq-util/CHANGELOG.md +4 -0
- data/crates/wreq-util/src/emulate/profile/chrome.rs +33 -0
- data/crates/wreq-util/src/emulate.rs +1 -0
- data/crates/wreq-util/tests/client.rs +15 -21
- data/crates/wreq-util/tests/emulate_chrome.rs +7 -0
- data/lib/wreq_ruby/emulate.rb +1 -0
- data/src/emulate.rs +1 -0
- data/test/emulation_test.rb +7 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 716f52b3692d818b5b58cecdb197f8112ac1c798255bd17fed78fa8a24db4d78
|
|
4
|
+
data.tar.gz: 793f8e7b1d27a3cb5d1223bab6b1982aa5239680f94ffaee1ef1db64e9b1fc8c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cab03cb8c651509d357c889aa38c1fa830ad72280bb02f2a6cfe0f89d327d366f70d4591034c3b775e02eb8fd26f0b9af55fe8986d843dc59debe646e9792d6a
|
|
7
|
+
data.tar.gz: 757ac8dd2dee930f92175770ea77c42bd9edf50e7e9372e394b5c201edbad005a840d2f6f47192432a0265ff3138783471eff4309195724396439eb64c129265
|
data/Cargo.lock
CHANGED
data/Cargo.toml
CHANGED
data/README.md
CHANGED
|
@@ -91,7 +91,7 @@ Most browser device models share identical TLS and HTTP/2 configurations, differ
|
|
|
91
91
|
|
|
92
92
|
| **Browser** | **Versions** |
|
|
93
93
|
| ----------- | ------------ |
|
|
94
|
-
| **Chrome** | `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`, `Chrome138`, `Chrome139`, `Chrome140`, `Chrome141`, `Chrome142`, `Chrome143`, `Chrome144`, `Chrome145`, `Chrome146`, `Chrome147`, `Chrome148`, `Chrome149` |
|
|
94
|
+
| **Chrome** | `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`, `Chrome138`, `Chrome139`, `Chrome140`, `Chrome141`, `Chrome142`, `Chrome143`, `Chrome144`, `Chrome145`, `Chrome146`, `Chrome147`, `Chrome148`, `Chrome149`, `Chrome150`, `Chrome151` |
|
|
95
95
|
| **Edge** | `Edge101`, `Edge122`, `Edge127`, `Edge131`, `Edge134`, `Edge135`, `Edge136`, `Edge137`, `Edge138`, `Edge139`, `Edge140`, `Edge141`, `Edge142`, `Edge143`, `Edge144`, `Edge145`, `Edge146`, `Edge147`, `Edge148` |
|
|
96
96
|
| **Firefox** | `Firefox109`, `Firefox117`, `Firefox128`, `Firefox133`, `Firefox135`, `FirefoxPrivate135`, `FirefoxAndroid135`, `Firefox136`, `FirefoxPrivate136`, `Firefox139`, `Firefox142`, `Firefox143`, `Firefox144`, `Firefox145`, `Firefox146`, `Firefox147`, `Firefox148`, `Firefox149`, `Firefox150`, `Firefox151` |
|
|
97
97
|
| **Safari** | `Safari15_3`, `Safari15_5`, `Safari15_6_1`, `Safari16`, `Safari16_5`, `Safari17_0`, `Safari17_2_1`, `Safari17_4_1`, `Safari17_5`, `Safari17_6`, `Safari18`, `Safari18_2`, `Safari18_3`, `Safari18_3_1`, `Safari18_5`, `Safari26`, `Safari26_1`, `Safari26_2`, `SafariIos16_5`, `SafariIos17_2`, `SafariIos17_4_1`, `SafariIos18_1_1`, `SafariIos26`, `SafariIos26_2`, `SafariIPad18`, `SafariIPad26`, `SafariIpad26_2` |
|
|
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- *(emulate)* Add Chrome 151 profile.
|
|
13
|
+
|
|
10
14
|
## [3.0.0-rc.14](https://github.com/0x676e67/wreq-util/compare/v3.0.0-rc.13...v3.0.0-rc.14) - 2026-07-04
|
|
11
15
|
|
|
12
16
|
### Fixed
|
|
@@ -1829,6 +1829,39 @@ mod_generator!(
|
|
|
1829
1829
|
]
|
|
1830
1830
|
);
|
|
1831
1831
|
|
|
1832
|
+
mod_generator!(
|
|
1833
|
+
v151,
|
|
1834
|
+
v150::build_emulation,
|
|
1835
|
+
header_initializer_with_zstd_priority,
|
|
1836
|
+
[
|
|
1837
|
+
(
|
|
1838
|
+
MacOS,
|
|
1839
|
+
r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
|
|
1840
|
+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
|
|
1841
|
+
),
|
|
1842
|
+
(
|
|
1843
|
+
Linux,
|
|
1844
|
+
r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
|
|
1845
|
+
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
|
|
1846
|
+
),
|
|
1847
|
+
(
|
|
1848
|
+
Android,
|
|
1849
|
+
r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
|
|
1850
|
+
"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Mobile Safari/537.36"
|
|
1851
|
+
),
|
|
1852
|
+
(
|
|
1853
|
+
Windows,
|
|
1854
|
+
r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
|
|
1855
|
+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
|
|
1856
|
+
),
|
|
1857
|
+
(
|
|
1858
|
+
IOS,
|
|
1859
|
+
r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
|
|
1860
|
+
"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/151.0.7922.43 Mobile/15E148 Safari/604.1"
|
|
1861
|
+
)
|
|
1862
|
+
]
|
|
1863
|
+
);
|
|
1864
|
+
|
|
1832
1865
|
mod_generator!(
|
|
1833
1866
|
edge143,
|
|
1834
1867
|
v132::build_emulation,
|
|
@@ -61,6 +61,7 @@ define_enum!(
|
|
|
61
61
|
Chrome148 => ("chrome_148", v148::emulation),
|
|
62
62
|
Chrome149 => ("chrome_149", v149::emulation),
|
|
63
63
|
Chrome150 => ("chrome_150", v150::emulation),
|
|
64
|
+
Chrome151 => ("chrome_151", v151::emulation),
|
|
64
65
|
|
|
65
66
|
// Edge versions
|
|
66
67
|
Edge101 => ("edge_101", edge101::emulation),
|
|
@@ -95,26 +95,20 @@ async fn assert_emulation_headers(profile: Profile, expected: &'static [&'static
|
|
|
95
95
|
#[tokio::test]
|
|
96
96
|
async fn test_client_emulation_device() {
|
|
97
97
|
let server = server::http(move |req| async move {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
assert_eq!(value, "?0");
|
|
113
|
-
}
|
|
114
|
-
if name == "sec-ch-ua-platform" {
|
|
115
|
-
assert_eq!(value, "\"Linux\"");
|
|
116
|
-
}
|
|
117
|
-
}
|
|
98
|
+
let header = |name| req.headers().get(name).and_then(|value| value.to_str().ok());
|
|
99
|
+
|
|
100
|
+
assert_eq!(
|
|
101
|
+
header("user-agent"),
|
|
102
|
+
Some(
|
|
103
|
+
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
|
|
104
|
+
)
|
|
105
|
+
);
|
|
106
|
+
assert_eq!(
|
|
107
|
+
header("sec-ch-ua"),
|
|
108
|
+
Some(r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#)
|
|
109
|
+
);
|
|
110
|
+
assert_eq!(header("sec-ch-ua-mobile"), Some("?0"));
|
|
111
|
+
assert_eq!(header("sec-ch-ua-platform"), Some("\"Linux\""));
|
|
118
112
|
http::Response::default()
|
|
119
113
|
});
|
|
120
114
|
|
|
@@ -122,7 +116,7 @@ async fn test_client_emulation_device() {
|
|
|
122
116
|
let res = Client::builder()
|
|
123
117
|
.emulation(
|
|
124
118
|
Emulation::builder()
|
|
125
|
-
.profile(Emulation::
|
|
119
|
+
.profile(Emulation::Chrome151)
|
|
126
120
|
.platform(Platform::Linux)
|
|
127
121
|
.http2(true)
|
|
128
122
|
.build(),
|
|
@@ -268,3 +268,10 @@ test_emulation!(
|
|
|
268
268
|
["t13d1516h2_8daaf6152771_d8a2da3f94cd"],
|
|
269
269
|
"52d84b11737d980aef856699f885ca86"
|
|
270
270
|
);
|
|
271
|
+
|
|
272
|
+
test_emulation!(
|
|
273
|
+
test_chrome151,
|
|
274
|
+
Emulation::Chrome151,
|
|
275
|
+
["t13d1516h2_8daaf6152771_806a8c22fdea"],
|
|
276
|
+
"52d84b11737d980aef856699f885ca86"
|
|
277
|
+
);
|
data/lib/wreq_ruby/emulate.rb
CHANGED
data/src/emulate.rs
CHANGED
data/test/emulation_test.rb
CHANGED
|
@@ -11,6 +11,13 @@ class EmulationTest < Minitest::Test
|
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
def test_chrome151_profile_is_available
|
|
15
|
+
profile = Wreq::Profile::Chrome151
|
|
16
|
+
|
|
17
|
+
assert_equal "Chrome151", profile.to_s
|
|
18
|
+
assert_instance_of Wreq::Emulation, Wreq::Emulation.new(profile: profile)
|
|
19
|
+
end
|
|
20
|
+
|
|
14
21
|
def test_all_emulation_os_constants_are_non_nil
|
|
15
22
|
Wreq::Platform.constants.each do |name|
|
|
16
23
|
const = Wreq::Platform.const_get(name)
|