If you’ve never had to use your computer’s terminal, also known as the command prompt, you’re in the right hands.
This in-depth guide will teach you the basics of using a terminal on Windows, macOS, and Linux machines. You’ll also learn how to set up your terminal with the curl library and use it to test Oxylabs’ solutions, including Residential Proxies, Datacenter Proxies, and Web Scraper API. So, let’s get the ball rolling!
The computer’s terminal is a built-in application that allows users to interact with their computers by running commands, scripts, and programs. It’s commonly called the command-line interface, as it’s a text-based interface that takes commands and hands them over to the operating system for execution.
For instance, just like you can copy and paste files using your computer’s cursor, you can do the same in the terminal with commands. You’re most likely used to a graphical user interface, like a web browser, for example, where you can tell your computer to execute specific tasks. The terminal, on the other hand, bypasses any graphical elements and controls the computer directly. These are just a few examples, and the terminal’s functionalities are endless.
Let’s start by locating and opening the terminal application on your computer.
For simplicity, use the Command Prompt instead of PowerShell on Windows. Open Windows Search and look for Command Prompt or cmd:
Launch the Command Prompt application, and you should see a similar window:
Helpful commands for using the Windows terminal:
Shortcut/command | Description |
---|---|
Ctrl and Mouse Wheel UP Ctrl and Mouse Wheel DOWN |
Hold Ctrl and scroll your mouse wheel up or down to zoom the screen in or out. |
dir /ad /b |
Enter this in your terminal to list the folders in the current directory. |
cd |
Enter this in your terminal to navigate to a specific folder. For example, cd documents/projects . |
On macOS computers, the terminal is simply called the Terminal.app.
Use the Launchpad or press Command and Spacebar (⌘ + ␣) on your keyboard to open up the Spotlight Search. Then, search for Terminal:
Once you hit Enter to open the Terminal, you should see a similar window:
Helpful commands for using the macOS terminal:
Shortcut/command | Description |
---|---|
Cmd and + Cmd and - |
Press the Command key and the + or - sign on your keyboard together to zoom the screen in or out. |
ls |
Enter this in your terminal to list the folders in the current directory. |
cd |
Enter this in your terminal to navigate to a specific folder. For example, cd documents/projects . |
On Linux machines you can access the terminal by opening the Activities window and searching for Terminal or its synonyms (cmd, command prompt, shell). Depending on your Linux distribution and its version, this process may be different.
Helpful commands for using the Linux terminal:
Shortcut/command | Description |
---|---|
Control and SHIFT and + Control and - |
Press the Control key, SHIFT, and the + or - sign on your keyboard to zoom the screen in or out. |
ls |
Enter this in your terminal to list the folders in the current directory. |
cd |
Enter this in your terminal to navigate to a specific folder. For example, cd documents/projects . |
The terminal by itself can’t communicate via the internet with websites or APIs. Hence, you need an additional tool that can send web requests.
curl is a command-line tool that allows users to communicate with websites and APIs directly from the computer's terminal. It’s similar to how a web browser sends requests, but it’s significantly simpler and doesn't actually function as a web browser. When it comes to Oxylabs’ products, you can use curl to quickly test how our proxies and Web Scraper API work.
curl must be installed on the computer as an additional package. To check if you already have curl on your device, run the following command in your terminal:
curl --version
If curl is on your computer, no errors will be displayed. When you run the curl --version command, you should see the curl version and its release date as highlighted in green in this screenshot:
curl comes officially pre-bundled with computers running Windows 10 version 1804 and later releases, including Windows 11.
When curl isn’t found on your computer, you can install it yourself by downloading curl from curl.se/windows. Please ensure that you select the appropriate architecture of the tool for your computer, either 64-bit, 64-bit (ARM64), or 32-bit.
For other methods to install curl on Windows, refer to the official curl documentation.
Typically, computers running macOS come with a pre-installed curl package.
If curl isn’t found on your computer or you want to install a newer version, it’s highly recommended to use a package manager like Homebrew. It simplifies the installation process and handles dependencies automatically.
Install Homebrew by running the following command in your terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Alternatively, you can download the .pkg installer from Homebrew’s GitHub. Scroll to the bottom of the page until you see a section called Assets, then download and run the file that ends with .pkg.
Once you have Homebrew ready, run the command shown below in your terminal to install curl:
brew install curl
After that, paste and run the following lines in your terminal to make the newly installed curl the default one:
echo 'export PATH="$(brew --prefix)/opt/curl/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
Generally, many Linux distributions come with curl pre-installed; however, it may not be the case for you. If curl isn’t installed, you may find success by using the distribution's package manager to install curl.
For Debian and Ubuntu, you can use the below command in your terminal:
sudo apt install curl
If you’re using Fedora, Arch Linux, or other Linux distributions, head to the official curl documentation to find the steps for installing curl.
Once curl is ready and you have acquired your Oxylabs product credentials for authentication, you can start using curl for testing or scripting. Below, you can find curl integration guidelines for Oxylabs proxies and scrapers.
Here’s how you can send a test request without using a proxy server:
curl "https://ip.oxylabs.io"
After pressing Enter to execute this command, you should see your network’s IP address in the output.
Proxy type: HTTP, HTTPS, or SOCKS5
Proxy address: pr.oxylabs.io
Proxy port: 7777
Using the above proxy settings, you can set up curl to run requests through your Residential or Mobile Proxies via a random country. You may also use country-specific entries by replacing the proxy address with, for example, us-pr.oxylabs.io and the proxy port with 10000 to connect to a proxy server located in the United States. Visit the documentation to see the full list of country-specific entries for Residential and Mobile Proxies.
Now, let’s see the curl code for making a request using Residential or Mobile Proxies:
curl "https://ip.oxylabs.io" -U "customer-USERNAME:PASSWORD" -x "pr.oxylabs.io:7777"
Once you replace the USERNAME and PASSWORD values with your proxy credentials and run the code in your terminal, curl will use your proxy to send a request to ip.oxylabs.io, which will return the IP address used for that request. You should see an IP address printed out, which, in our case, was 5.204.135.197:
Visit ip.oxylabs.io on your browser (without using a VPN service) and compare your actual IP address with the one displayed in the terminal. If the proxy setup works correctly, the IPs should differ, and you should see a different IP address printed out every time you run the code.
Proxy type: HTTP or SOCKS5
Proxy address: 1.2.3.4 (a specific IP address)
Proxy port: 60000
For Enterprise Dedicated Datacenter Proxies, you have to choose an IP address from your acquired proxy list. Head to the documentation to learn more. The curl code should look similar to this:
curl "https://ip.oxylabs.io" -U "USERNAME:PASSWORD" -x "1.2.3.4:60000"
Proxy type: HTTP, HTTPS, or SOCKS5
Proxy address: ddc.oxylabs.io
Proxy port: 8001
Self-Service Dedicated Datacenter Proxies work by referring to the port number, which represents the sequential number of an IP address in your acquired proxy list. Hence, the 8001 port will always pick the first IP address from your list. Visit the documentation to find out more. Here’s how your curl code should look:
curl "https://ip.oxylabs.io" -U "user-USERNAME:PASSWORD" -x "ddc.oxylabs.io:8001"
Proxy type: HTTP, HTTPS, SOCKS5
Proxy address: dc.oxylabs.io
Proxy port: 8001
For pay-per-IP subscription, the port is the sequential number given to an IP address from the list, meaning port 8001 uses the first IP address. Check our documentation for more details.
In pay-per-traffic subscription, port 8001 selects a random IP address but remains fixed for the session duration. You can specify the proxy's location in the user authentication string, such as user-USERNAME-country-US:PASSWORD, which will connect to a US proxy. More information is available in our documentation.
Your curl code should look similar to the snippet below:
curl "https://ip.oxylabs.io" -U "user-USERNAME:PASSWORD" -x "dc.oxylabs.io:8001"
Proxy type: HTTP, HTTPS, or SOCKS5
Proxy address: isp.oxylabs.io
Proxy port: 8001
curl "https://ip.oxylabs.io" -U "USERNAME:PASSWORD" -x "isp.oxylabs.io:8001"
Proxy type: HTTP or HTTPS
Proxy address: unblock.oxylabs.io
Proxy port: 60000
When using Web Unblocker, you must ignore the SSL certificate. In curl, this can be done by specifying the -k or --insecure flag:
curl -k "https://ip.oxylabs.io" \
-U "USERNAME:PASSWORD" \
-x "unblock.oxylabs.io:60000"
Check out our extensive documentation to find more details about Web Unblocker.
To test Oxylabs’ Web Scraper API via curl, you must use predefined sources for specific target URLs. Head to the documentation of our API to see the available sources and other parameters.
For demonstration purposes, let’s use Web Scraper API. The following curl code snippet will print the HTML document of this scraping sandbox website:
curl --user "USERNAME:PASSWORD" \
'https://realtime.oxylabs.io/v1/queries' \
-H "Content-Type: application/json" \
-d '{"source": "universal", "url": "https://sandbox.oxylabs.io/products"}'
Notice that the target URL is provided in JSON format after the -d flag, which tells curl to send the following data to the API via a POST request. Moreover, you have to use an API endpoint to connect to Web Scraper API. You can see that the above code snippet uses the real-time integration method via the https://realtime.oxylabs.io/v1/queries endpoint.
By default, curl uses the HTTP protocol to connect to proxy servers. Depending on the proxy type you’ve acquired, you can use the more secure HTTPS or SOCKS5 protocol. For instance, Residential Proxies support all three protocols; hence, you can specify the HTTPS proxy protocol by adding https:// to the proxy address:
curl "https://ip.oxylabs.io" -U "customer-USERNAME:PASSWORD" -x "https://pr.oxylabs.io:7777"
Alternatively, the SOCKS5 protocol can be specified like this:
curl "https://ip.oxylabs.io" -U "customer-USERNAME:PASSWORD" -x "socks5://pr.oxylabs.io:7777"
If you’re interested to learn more about curl, check out our blog post on how to use curl with proxies to delve deeper into its functionalities. Furthermore, our documentation is a goldmine for any instructions on using Oxylabs' proxies and Web Scraper API, so don’t hesitate to surf around.
In case you’re looking for a simpler way to test Oxylabs’ Web Scraper API, head to the dashboard and navigate to Scraper APIs Playground. Here, you can easily enter your target URL, choose the desired API parameters, and send a request to retrieve scraped results. If you have any questions about Oxylabs products, feel free to contact our 24/7 Support Team via live chat or drop a line at support@oxylabs.io.
Please be aware that this is a third-party tool not owned or controlled by Oxylabs. Each third-party provider is responsible for its own software and services. Consequently, Oxylabs will have no liability or responsibility to you regarding those services. Please carefully review the third party's policies and practices and/or conduct due diligence before accessing or using third-party services.
Why You Shouldn't Use Free Proxies - Risks & Reasons
Free proxies are an attractive yet often unsafe solution. Its limitations, security issues, and recommendations are all discussed within the article.
Datacenter Proxies vs. Residential Proxies
Datacenter vs residential proxies: what are the main differences? Get all the answers to your questions about these proxy types by reading this article.
How to Use cURL With Proxy?
In this step-by-step guide, you will go through the basics of how to use cURL with proxy. Also, you will get bonus tips on smooth and easy proxy usage.
Get the latest news from data gathering world