1

Reqwest のプロキシ機能を使用して user:pass basic auth と残りの URL をプロキシ機能に渡そうとしています。どうやら、このクレートが基本認証を機能させる方法は、プロキシに対してこの方法で渡すことはできません。

プロキシをコメントアウトしたとき、データを取得しましたが、プロキシを通過しませんでした:

let raw_proxy = format!("https://{}:{}@{}", username, password, forward_proxy);
let proxy = reqwest::Proxy::all(&raw_proxy).unwrap();
let mut buf = &mut Vec::new();

File::open("../cert.der").unwrap().read_to_end(&mut buf).unwrap();
let cert = reqwest::Certificate::from_der(&buf).unwrap();
let client = reqwest::Client::builder()
    .add_root_certificate(cert)
    //.proxy(proxy)
    .build().unwrap();

let mut res = client.post("http://httpbin.org/post")
    .header(ContentType::json())
    .body(format!("{}", redacted_data))
    .send().unwrap();
4

2 に答える 2

1

簡単な答えは、より多くのコードを書かないとできないということです。より長い答えについては、2年前に開いたこのチケットを参照してください。https://github.com/hyperium/hyper/issues/531

基本的に、認証されたプロキシは現在機能しません。ヘッダーは更新されていません。

著者は協力的ですが、それは優先度が高くありません。私はプロキシの背後にいるのをやめたので、それは私にとってもプロキシではなくなりました。

于 2017-10-25T21:15:20.630 に答える