Configure curl proxy server using various methods

SwiftProxy
By - Emily Chan
2024-12-25 20:19:13

In data transmission and network requests, curl is a powerful command line tool that supports multiple protocols (such as HTTP/HTTPS, FTP, and SCP) and can be used seamlessly with standard Unix pipes. In some cases, we may need to send requests through a proxy server, for example, to access restricted websites or break through IP restrictions. This article will introduce multiple methods to set up a proxy server for curl.

1. Use command line parameters

curl provides the -x or --proxy parameter to specify a proxy server. The basic format is: -x, --proxy [protocol://]host[:port]. For example, to use a proxy server with port 5000 on the local machine, you can execute the following command:

curl -x 127.0.0.1:5000 httpbin.org/ip

If the proxy server requires authentication, you can use the -U flag to specify the username and password. For example:

curl -U user:password --proxy 127.0.0.1:5000 httpbin.org/ip

If the authentication scheme of your proxy server is different, you can use --proxy-anyauth to let curl automatically determine the authentication scheme.

2. Use environment variables

curl allows you to configure the proxy server by setting environment variables. For HTTP and HTTPS protocols, you can set the http_proxy and https_proxy environment variables. For example:

export http_proxy="127.0.0.1:5000"
export https_proxy="127.0.0.1:5000"

Then, all curl HTTP and HTTPS requests will automatically use these proxy settings. These environment variables are only temporary and will be deleted when the shell session ends or the system is restarted. To make it available in all sessions, you can add these commands to the user's profile file, such as .bashrc or .zshrc.

3. Use aliases

If you often need to use a proxy server, you can set an alias for curl. For example:

alias curl="curl -x 127.0.0.1:5000"

In this way, the specified proxy server will be used by default every time the curl command is used.

4. Use the .curlrc configuration file

curl also supports personalized configuration parameters, which can be saved in the .curlrc configuration file (_curlrc on Windows). By default, this file is located in the user's personal directory. You can add the following line to the .curlrc file to set the proxy:

proxy = "http://127.0.0.1:5000"

This way, each time you use the curl command, the configuration file will be read and the proxy settings will be applied.

5. Comprehensive Application

In actual applications, you may combine the above methods to set curl's proxy server. For example, you can first use environment variables to set the default proxy server, and then use command line parameters to override these settings when needed. Or, you can set different aliases for different proxy servers to quickly switch as needed.

Conclusion

Through the introduction of this article, we have learned a variety of ways to set up curl's proxy server. These methods include using command line parameters, environment variables, aliases, and configuration files. In actual applications, you can choose the most appropriate method to set up a proxy server according to specific needs. I hope this article can help you better use the curl tool for data transmission and network requests.

About the author

SwiftProxy
Emily Chan
Lead Writer at Swiftproxy
Emily Chan is the lead writer at Swiftproxy, bringing over a decade of experience in technology, digital infrastructure, and strategic communications. Based in Hong Kong, she combines regional insight with a clear, practical voice to help businesses navigate the evolving world of proxy solutions and data-driven growth.
The content provided on the Swiftproxy Blog is intended solely for informational purposes and is presented without warranty of any kind. Swiftproxy does not guarantee the accuracy, completeness, or legal compliance of the information contained herein, nor does it assume any responsibility for content on thirdparty websites referenced in the blog. Prior to engaging in any web scraping or automated data collection activities, readers are strongly advised to consult with qualified legal counsel and to review the applicable terms of service of the target website. In certain cases, explicit authorization or a scraping permit may be required.
Join SwiftProxy Discord community Chat with SwiftProxy support via WhatsApp Chat with SwiftProxy support via Telegram
Chat with SwiftProxy support via Email