cURL Configuration for the Proxy

This article addresses configuration of cURL and libcurl for the proxy. cURL (Client URL Library) is used in command lines or scripts to transfer data with URLs. The current version is 7.79.1 (September 2021). libcurl is a client-side URL transfer library.

ProxyMesh supports configuration of the Proxy Host with Basic Authentication, bearer tokens on paid plans, and IP address authentication. With IP authentication, you don't need to use a username and password.

cURL supports HTTP and HTTPS, among other protocols. The libcurl library provides a cross-platform C library with bindings for many languages and frameworks commonly used in proxy operations, including Java, .NET, NodeJS, PHP, and Python. Some scripting languages, such as PHP, also include the cURL library.

Information and Downloads

Click the link for a summary of cURL. This site also provides links to source code: Click Download, then select "Browse Source.".

To get cURL source code directly, click here.

To pass custom headers in from a linked list to HTTP and HTTPS requests, you can use the CURLOPT_PROXYHEADER  option. Click the link for more information and a code example.

Environment Variable

If you have set the http_proxy  environment variable, cURL will recognize it. On a Unix or Linux system, this might look like

export http_proxy=http://USERNAME:PASSWORD@PROXYHOST:PORT

If the variable is not set, you can also do the following:

curl -x http://PROXYHOST:PORT -U USERNAME:PASSWORD http://example.com

With a bearer token (ProxyMesh 10 and higher):

curl -x http://PROXYHOST:PORT --proxy-header "Proxy-Authorization: Bearer pm_YOUR_TOKEN" https://example.com

Further Information

  • Everything cURL, which covers cURL, libcurl, and the cURL project in several publication formats including PDF.

Back to HTTP Proxy Configuration Overview

Still need help? Contact Us Contact Us