sagebind / isahc

The practical HTTP client that is fun to use.
https://docs.rs/isahc
MIT License
705 stars 62 forks source link

config add use_default_http_client option #430

Open izhengzhixian opened 1 year ago

izhengzhixian commented 1 year ago

I use curl-impersonate to load as a dynamic link library to simulate browser downloads. When the header is not set, the header of the browser will be automatically filled, but isahc has set the user-agent, so it will not be overwritten by the user-agent of chrome. So I hope there can be a config field to turn off the default user-agent during use.

        let use_default_user_agent = request
            .extensions()
            .get::<RequestConfig>()
            .unwrap()
            .use_default_user_agent
            .unwrap_or(true);

        if use_default_user_agent {
            // Set default user agent if not specified.
            request
                .headers_mut()
                .entry(http::header::USER_AGENT)
                .or_insert(USER_AGENT.parse().unwrap());
        }