Here is part of my code snippetοΌjust send request of get()
let addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(10, 0, 0, 0)), 855);
let client = Client::builder()
.min_tls_version(Version::TLS_1_2)
.no_proxy()
.build()
.unwrap();
client.get(&url_login_https).send()
and my Cargo.toml dependencies configuration here, and let me explain
aarch64-pc-windows-msvc
and riscv64gc-unknown-linux-gnu
are built with default-tls
. rustls-tls
does not support these two platforms, because the dependent library ring
of rustls
does not support
[dependencies]
serde_json = { version = "1.0", features = ["alloc"], default-features = false }
[target.'cfg(not(any(all(target_arch = "aarch64", target_os = "windows"), all(target_arch = "riscv64gc", target_os = "linux"))))'.dependencies]
reqwest = { version = "0.11", features = ["blocking", "rustls-tls"], default-features = false }
[target.aarch64-pc-windows-msvc.dependencies]
openssl = { version = "0.10", features = ["vendored"], default-features = false }
reqwest = { version = "0.11", features = ["blocking", "default-tls"], default-features = false }
[target.riscv64gc-unknown-linux-gnu.dependencies]
openssl = { version = "0.10", features = ["vendored"], default-features = false }
reqwest = { version = "0.11", features = ["blocking", "default-tls"], default-features = false }
when i build it in GitHub, it encounter
I swear, before adding riscv64gc-unknown-linux-gnu
it worked exactly as I expected.
Before, I had aarch64-pc-windows-msvc
, its reqwest
used default-tls
, and did not add ring dependencies when building. And now, i add riscv64gc-unknown-linux-gnu
, it encounter error.
In one word, i want to know why i not specify rustls-tls
but it appear ring
dependency. And how to fix it.
and the cargo tree
like this, althouht ring
seems appear, but it only occur in the specify target.
network-master v2.0.3 (C:\usr\code\rust\Network-Master-Rust)
βββ reqwest v0.11.18
β βββ base64 v0.21.2
β βββ bytes v1.4.0
β βββ encoding_rs v0.8.32
β β βββ cfg-if v1.0.0
β βββ futures-core v0.3.28
β βββ futures-util v0.3.28
β β βββ futures-core v0.3.28
β β βββ futures-io v0.3.28
β β βββ futures-macro v0.3.28 (proc-macro)
β β β βββ proc-macro2 v1.0.64
β β β β βββ unicode-ident v1.0.10
β β β βββ quote v1.0.29
β β β β βββ proc-macro2 v1.0.64 (*)
β β β βββ syn v2.0.25
β β β βββ proc-macro2 v1.0.64 (*)
β β β βββ quote v1.0.29 (*)
β β β βββ unicode-ident v1.0.10
β β βββ futures-task v0.3.28
β β βββ memchr v2.5.0
β β βββ pin-project-lite v0.2.10
β β βββ pin-utils v0.1.0
β β βββ slab v0.4.8
β β [build-dependencies]
β β βββ autocfg v1.1.0
β βββ h2 v0.3.20
β β βββ bytes v1.4.0
β β βββ fnv v1.0.7
β β βββ futures-core v0.3.28
β β βββ futures-sink v0.3.28
β β βββ futures-util v0.3.28 (*)
β β βββ http v0.2.9
β β β βββ bytes v1.4.0
β β β βββ fnv v1.0.7
β β β βββ itoa v1.0.8
β β βββ indexmap v1.9.3
β β β βββ hashbrown v0.12.3
β β β [build-dependencies]
β β β βββ autocfg v1.1.0
β β βββ slab v0.4.8 (*)
β β βββ tokio v1.29.1
β β β βββ bytes v1.4.0
β β β βββ mio v0.8.8
β β β β βββ windows-sys v0.48.0
β β β β βββ windows-targets v0.48.1
β β β β βββ windows_x86_64_gnu v0.48.0
β β β βββ num_cpus v1.16.0
β β β βββ pin-project-lite v0.2.10
β β β βββ socket2 v0.4.9
β β β β βββ winapi v0.3.9
β β β β βββ winapi-x86_64-pc-windows-gnu v0.4.0
β β β βββ windows-sys v0.48.0 (*)
β β β [build-dependencies]
β β β βββ autocfg v1.1.0
β β βββ tokio-util v0.7.8
β β β βββ bytes v1.4.0
β β β βββ futures-core v0.3.28
β β β βββ futures-sink v0.3.28
β β β βββ pin-project-lite v0.2.10
β β β βββ tokio v1.29.1 (*)
β β β βββ tracing v0.1.37
β β β βββ cfg-if v1.0.0
β β β βββ pin-project-lite v0.2.10
β β β βββ tracing-core v0.1.31
β β β βββ once_cell v1.18.0
β β βββ tracing v0.1.37 (*)
β βββ http v0.2.9 (*)
β βββ http-body v0.4.5
β β βββ bytes v1.4.0
β β βββ http v0.2.9 (*)
β β βββ pin-project-lite v0.2.10
β βββ hyper v0.14.27
β β βββ bytes v1.4.0
β β βββ futures-channel v0.3.28
β β β βββ futures-core v0.3.28
β β βββ futures-core v0.3.28
β β βββ futures-util v0.3.28 (*)
β β βββ h2 v0.3.20 (*)
β β βββ http v0.2.9 (*)
β β βββ http-body v0.4.5 (*)
β β βββ httparse v1.8.0
β β βββ httpdate v1.0.2
β β βββ itoa v1.0.8
β β βββ pin-project-lite v0.2.10
β β βββ socket2 v0.4.9 (*)
β β βββ tokio v1.29.1 (*)
β β βββ tower-service v0.3.2
β β βββ tracing v0.1.37 (*)
β β βββ want v0.3.1
β β βββ try-lock v0.2.4
β βββ hyper-rustls v0.24.1
β β βββ futures-util v0.3.28 (*)
β β βββ http v0.2.9 (*)
β β βββ hyper v0.14.27 (*)
β β βββ rustls v0.21.5
β β β βββ log v0.4.19
β β β βββ ring v0.16.20
β β β β βββ spin v0.5.2
β β β β βββ untrusted v0.7.1
β β β β βββ winapi v0.3.9 (*)
β β β β [build-dependencies]
β β β β βββ cc v1.0.79
β β β βββ rustls-webpki v0.101.1
β β β β βββ ring v0.16.20 (*)
β β β β βββ untrusted v0.7.1
β β β βββ sct v0.7.0
β β β βββ ring v0.16.20 (*)
β β β βββ untrusted v0.7.1
β β βββ tokio v1.29.1 (*)
β β βββ tokio-rustls v0.24.1
β β βββ rustls v0.21.5 (*)
β β βββ tokio v1.29.1 (*)
β βββ ipnet v2.8.0
β βββ log v0.4.19
β βββ mime v0.3.17
β βββ once_cell v1.18.0
β βββ percent-encoding v2.3.0
β βββ pin-project-lite v0.2.10
β βββ rustls v0.21.5 (*)
β βββ rustls-pemfile v1.0.3
β β βββ base64 v0.21.2
β βββ serde v1.0.171
β βββ serde_urlencoded v0.7.1
β β βββ form_urlencoded v1.2.0
β β β βββ percent-encoding v2.3.0
β β βββ itoa v1.0.8
β β βββ ryu v1.0.14
β β βββ serde v1.0.171
β βββ tokio v1.29.1 (*)
β βββ tokio-rustls v0.24.1 (*)
β βββ tower-service v0.3.2
β βββ url v2.4.0
β β βββ form_urlencoded v1.2.0 (*)
β β βββ idna v0.4.0
β β β βββ unicode-bidi v0.3.13
β β β βββ unicode-normalization v0.1.22
β β β βββ tinyvec v1.6.0
β β β βββ tinyvec_macros v0.1.1
β β βββ percent-encoding v2.3.0
β βββ webpki-roots v0.22.6
β β βββ webpki v0.22.0
β β βββ ring v0.16.20 (*)
β β βββ untrusted v0.7.1
β βββ winreg v0.10.1
β βββ winapi v0.3.9 (*)
βββ serde_json v1.0.102
βββ itoa v1.0.8
βββ ryu v1.0.14
βββ serde v1.0.171
My program here change android target to riscv and modify README Β· mobeicanyue/Campus-Network-Master-Rust@ade9476 (github.com)