python_wiki:requests

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
python_wiki:requests [2018/08/05 15:02]
billdozor created
python_wiki:requests [2019/05/25 23:50] (current)
Line 5: Line 5:
 The requests library is a http library that allows you to interact with web servers via Python. The requests library is a http library that allows you to interact with web servers via Python.
  
 +\\
 +Sites to Practice Using Requests Against:
 +  * Generic http request and response server: http://httpbin.org/
 +  * XKCD Comics: https://xkcd.com/json.html
 +
 +\\
 **Checklist** **Checklist**
   * Python 2 or 3   * Python 2 or 3
Line 31: Line 37:
 Requests supports the following http request types. Requests supports the following http request types.
 <code python> <code python>
-my_site = "http://www.mysite.org/"+my_site = "http://httpbin.org/"
  
 # GET # GET
-response = request.get(my_site)+response = requests.get(my_site + "get")
  
 # POST # POST
-response = request.post(my_site)+response = requests.post(my_site + "post")
  
 # PUT # PUT
-response = request.put(my_site)+response = requests.put(my_site + "put")
  
 # DELETE # DELETE
-response = request.delete(my_site)+response = requests.delete(my_site + "delete")
  
 +##-- head and options responses are not implemented in the httpbin.org website --##
 # HEAD # HEAD
-response = request.head(my_site)+response = requests.head(my_site)
  
 # OPTIONS # OPTIONS
-response = request.options(my_site)+response = requests.options(my_site
 +</code> 
 + 
 +---- 
 + 
 +===== GET ===== 
 + 
 +Using the GET request and handling the response data. 
 + 
 +\\ 
 +Example: Retrieve the latest XKCD Comic Info ( More Info: https://xkcd.com/json.html) 
 +<code python> 
 +#!/usr/bin/python3                                                                          
 + 
 +import requests 
 + 
 +# XKCD Current Comic JSON API 
 +my_site = "https://xkcd.com/info.0.json" 
 + 
 +# Retrieve using GET 
 +print("Sending GET to: " + my_site) 
 +response = requests.get(my_site) 
 + 
 +# Extract the JSON object from the response 
 +data = response.json() 
 + 
 +# Show http status code on GET 
 +print("Status code is:" + str(response.status_code)) 
 + 
 +# Show Certain fields from the JSON object 
 +print("\n-- The Current XKCD Comic --") 
 +print("Comic Title: " + data['title']) 
 +print("Comic Text: " + data['alt']) 
 +print("Comic Date: " + data['year'] + "-" + data['month'] + "-" + data['day']) 
 +print("Comic Image URL: " + data['img']) 
 +</code> 
 + 
 +\\ 
 +Output from above example 
 +<code bash> 
 +Sending GET to: https://xkcd.com/info.0.json 
 +Status code is:200 
 + 
 +-- The Current XKCD Comic -- 
 +Comic Title: Pie Charts 
 +Comic Text: If you can't get your graphing tool to do the shading, just add some clip art of cosmologists discussing the unusual curvature of space in the area. 
 +Comic Date: 2018-8-10 
 +Comic Image URL: https://imgs.xkcd.com/comics/pie_charts.png 
 +</code> 
 + 
 +---- 
 + 
 +===== POST ===== 
 + 
 +Send data in a POST request. 
 + 
 +\\ 
 +Example: Use the httpbin.org site to delay 5 seconds (will replace with a more interesting example later) 
 +<code bash> 
 +#!/usr/bin/python 
 + 
 +import requests 
 + 
 +# Post the request (this will delay/sleep for 5 seconds) 
 +response = requests.post("http://httpbin.org/delay/5"
 + 
 +# Extract the JSON object from the response 
 +data = response.json() 
 +  
 +# Show http status code 
 +print("Status code is:" + str(response.status_code)) 
 + 
 +print("Returned response is:"
 +print(data)
 </code> </code>
  
 ---- ----
  
  • python_wiki/requests.1533495759.txt.gz
  • Last modified: 2019/05/25 23:50
  • (external edit)