Introduction to Python Curl
A curl is a request tool that is used to create network requests so that it allows it to transfer the data across the network which is done using the command line. In this article, we are going to discussing curl in Python. In python, a curl is a tool for transferring data requests to and from a server using PycURL. This tool is used for testing REST APIs, downloading files, etc this PycURL is an interface to the libcURL library in Python and hence the PycURL is capable of inheriting all the capabilities of libcURL.
Working of Python Curl
In this article, Python curl is used for REST API for transferring the data to and from a server. In this, we will see PycURL is a python interface that is used to fetch the objects from a python program which is identified by a URL.
Curl is a UNIX command which can send GET, POST, PUT and DELETE request to a URL. In Python there is an HTTP library called “Requests” but this library needs to be pulled as it’s not any standard module. When this library is used we can create simple request and this request returns a response object which allows access to the various status codes or headers, etc. Let us see an example below with output for each line:
Examples to Implement Python Curl
Below are the examples of Python Curl:
url = "https://rest.logentries.com/query/saved_queries"
resp = requests.get(url,headers=headers)
Here you will get the output code as status code as 200.
The above will print the content.
From the above code snippets, we see that we need to first import request library, and then we create a URL and we will print the URL, and headers also will be defined and printed. Then we saw that request.get() method is called by passing the URL and headers obtained above to this method. This method returns a response object (resp). In the above code snippets we can see that using this response object we will be printing the content of the request.get() method which will allow us to access and print the status_code and entire content is printed and we can also see the list of attributes of this response object that are available. Similarly, we also can use different request methods like requests.put(), request.post(), request.delete(), etc.
We can see the syntax of each of these request methods and we can see below:
- Call.request.get(URL) this is used to send a GET request to the URL.
- Call.request.post(URL, data= dict) in this dict contains a dictionary of keys and also has values to send to a POST request.
- Call.request.put(URL, data =dict) this also works similarly to POST request, this will also send URL and values to a PUT request.
- Call.requset.delete(URL, data =dict) this also has the same parameters as the above two request methods and this request also sends the URL and values to the DELETE request method.
In Python, we use PycURL as a CURL tool and are used for testing REST APIs. As this PycURL supports a different variety of protocols like FILE, FTPS, HTTPS, IMAP, SMB, SCP, etc. The installation of PycURL is very simple for any of the operating systems. So below is the sampling process for installing the PycURL.
$ pip install pycurl
$ easy_install pycurl
The above two can be used for installing pycurl in mac or Linux OS. Now we will see how can this be installed in windows OS but before this, we need to install a few dependencies. So you can run the below command in the Python terminal as below:
$ pip install pycurl
If pip is not used, then we can use EXE and MSI installers that are available at PycURL windows.
Let us below the sample example for sending an HTTP GET request.
from io import BytesIO
b_obj = BytesIO()
crl = pycurl.Curl()
get_body = b_obj.getvalue()
print('Output of GET request:\n%s' % get_body.decode('utf8'))
Explanation: In the above program, first, we need to set the URL value such as https://www.mouthshut.com/websites/Educba-com-reviews-925740874. Then we write the data and then perform a file transfer using the curl method perform() for closing the curl session using the close() method. Then we can obtain the content of the HTML request page as shown in the above output screenshot.
Similarly, there are different ways and codes in Python using PycURL for using POST, PUT, DELETE, etc methods. Let us what code sample can be written for sending an HTTP DELETE request. This method where it deletes the server resource that is identified by the URL. This can be implemented using CUSTOMREQUEST.
Below is the sample example:
crl = pycurl.Curl()
The above code snippet is to send the HTTP DELETE request. So we can see how to use HTTP DELETE request for sending this request using a curl tool in Python like PycURL.
In this article, we discussed the curl which is a tool for transferring data from and to server. In Python, we have PycURL library which uses libcurl which is a standard library and PycURL uses its values in it. We also saw the various methods that are called syntax. In this article, we also saw the usage of PycURL which we first saw how to import it and how to use this and use various curl methods such as perform(), close(), etc.
This is a guide to Python Curl. Here we discuss the Introduction and Working of Python Curl along with Examples and Code Implementation. You can also go through our other suggested articles to learn more –