You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An easy and powerful Ruby HTTP client with advanced browser fingerprinting that accurately emulates **Chrome**, **Firefox**, **Safari**, **Opera**, and **OkHttp**, with precise **TLS/HTTP2** signatures, and powered by [wreq](https://github.com/0x676e67/wreq).
6
-
6
+
An easy and powerful Ruby HTTP client with advanced browser fingerprinting that accurately emulates **Chrome**, **Edge**, **Firefox**, **Safari**, **Opera**, and **OkHttp**, with precise **TLS/HTTP2** signatures, and powered by [wreq](https://github.com/0x676e67/wreq).
7
7
8
8
## Features
9
9
10
-
- Plain bodies, JSON, urlencoded,
10
+
- Plain bodies, JSON, urlencoded
11
11
- Cookie Store
12
12
- Redirect Policy
13
13
- Original Headers
@@ -18,22 +18,30 @@
18
18
- Free-Threaded Safety
19
19
- Automatic Decompression
20
20
21
-
## Example
22
-
23
-
This example demonstrates how to make a simple GET request using the `wreq` library. So you need install `wreq` and run the following code:
Due to the complexity of TLS encryption and the widespread adoption of HTTP/2, browser fingerprints such as **JA3**, **JA4**, and **Akamai** cannot be reliably emulated using simple fingerprint strings. Instead of parsing and emulating these string-based fingerprints, `rnet` provides fine-grained control over TLS and HTTP/2 extensions and settings for precise browser behavior emulation.
65
+
Due to the complexity of TLS encryption and the widespread adoption of HTTP/2, browser fingerprints such as **JA3**, **JA4**, and **Akamai** cannot be reliably emulated using simple fingerprint strings. Instead of parsing and emulating these string-based fingerprints, `wreq` provides fine-grained control over TLS and HTTP/2 extensions and settings for precise browser behavior emulation.
58
66
59
67
2.**Device Emulation**
60
68
@@ -72,17 +80,20 @@ Most browser device models share identical TLS and HTTP/2 configurations, differ
72
80
|**iOS**| iOS (iPhone/iPad) |
73
81
74
82
</details>
83
+
84
+
<!-- Emulation profiles sourced from src/emulation.rs - keep in sync -->
# Option 2: Build pre-compiled platform gem (recommended for distribution)
109
-
# This creates a platform-specific gem (e.g., wreq-0.1.0-arm64-darwin.gem)
120
+
# This creates a platform-specific gem (e.g., wreq-0.1.0-arm64-darwin.gem)
110
121
# with pre-compiled binaries. Users can install quickly without build environment.
111
122
bundle exec rake compile
112
123
bundle exec rake native gem
113
124
gem install pkg/wreq-*.gem
114
125
115
126
# Development workflow
116
127
bundle exec rake compile # Compile for development/testing
117
-
bundle exec rake test# Run tests
128
+
bundle exec rake test# Run tests
118
129
bundle exec ruby examples/body.rb # Run examples without installing
119
130
```
120
131
121
132
## License
122
133
123
134
Licensed under either of Apache License, Version 2.0 ([LICENSE](./LICENSE) or http://www.apache.org/licenses/LICENSE-2.0).
124
135
125
-
## Contribution
136
+
## Contributing
126
137
127
138
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the [Apache-2.0](./LICENSE) license, shall be licensed as above, without any additional terms or conditions.
0 commit comments