18
loading...
This website collects cookies to deliver better user experience
pip install requests
import requests
def req():
response = requests.get("http://api.open-notify.org/")
print(response)
def __name__ == "__main__":
req()
Output:
<Response [200]>
def status():
if response.status_code == 200:
return True
return False
def status():
try:
response = requests.get("http://api.open-notify.org/asdasd")
response.raise_for_status()
except Exception as e:
print(f'Error occurred: {e}')
def content(url="http://api.open-notify.org/astros.json"):
try:
response = requests.get(url)
content = response.content
print(content)
except Exception as e:
print(f'Error occurred: {e}')
Output:
b'{"message": "success", "number": 10, "people": [{"craft": "ISS", "name": "Mark Vande Hei"}, {"craft": "ISS", "name": "Oleg Novitskiy"}, {"craft": "ISS", "name": "Pyotr Dubrov"}, {"craft": "ISS", "name": "Thomas Pesquet"}, {"craft": "ISS", "name": "Megan McArthur"}, {"craft": "ISS", "name": "Shane Kimbrough"}, {"craft": "ISS", "name": "Akihiko Hoshide"}, {"craft": "ISS", "name": "Anton Shkaplerov"}, {"craft": "ISS", "name": "Klim Shipenko"}, {"craft": "ISS", "name": "Yulia Pereslid"}]}'
def convert_string(url="http://api.open-notify.org/astros.json"):
try:
response = requests.get(url)
string_content = response.text
print(f"The content of response => {string_content}")
except Exception as e:
print(f'Error occurred: {e}')
The content of response => {"message": "success", "number"...
def convert_json(url="http://api.open-notify.org/astros.json"):
try:
response = requests.get(url)
json_content = response.json()
print(f"The content of response => {json_content}")
print(type(json_content))
except Exception as e:
print(f'Error occurred: {e}')
The content of response => {'message': 'success',
'number': 10,
'people': [{'craft': 'ISS', 'name': 'Mark Vande Hei'},
{'craft': 'ISS', 'name': 'Oleg Novitskiy'},
{'craft': 'ISS', 'name': 'Pyotr Dubrov'},
{'craft': 'ISS', 'name': 'Thomas Pesquet'},
{'craft': 'ISS', 'name': 'Megan McArthur'},
{'craft': 'ISS', 'name': 'Shane Kimbrough'},
{'craft': 'ISS', 'name': 'Akihiko Hoshide'},
{'craft': 'ISS', 'name': 'Anton Shkaplerov'},
{'craft': 'ISS', 'name': 'Klim Shipenko'},
{'craft': 'ISS', 'name': 'Yulia Pereslid'}]}
def get_headers(url="http://api.open-notify.org/astros.json"):
try:
response = requests.get(url)
headers = response.headers
print("Headers: ", end="\n\n")
pprint(dict(headers))
except Exception as e:
print(f'Error occurred: {e}')
Output:
Headers:
{'Connection': 'keep-alive',
'Content-Length': '505',
'Content-Type': 'application/json',
'Date': 'Mon, 18 Oct 2021 08:39:23 GMT',
'Server': 'nginx/1.10.3',
'access-control-allow-origin': '*'}
def query_params(url="http://api.open-notify.org/iss-pass.json"):
params = {
"lat":"25",
"lon":"35"
}
try:
response = requests.get(url, params=params)
json_content = response.json()
print(f"Estimate of ISS location according to parameter => ", end="")
pprint(json_content)
except Exception as e:
print(f'Error occurred: {e}')
Output:
Estimate of ISS location according to parameter => {'message': 'success',
'request': {'altitude': 100,
'datetime': 1634224449,
'latitude': 25.0,
'longitude': 35.0,
'passes': 5},
'response': [{'duration': 613, 'risetime': 1634270566},
{'duration': 590, 'risetime': 1634276384},
{'duration': 502, 'risetime': 1634300139},
{'duration': 648, 'risetime': 1634305891},
{'duration': 193, 'risetime': 1634311894}]}
class EstimateISS:
def __init__(self, url="http://api.open-notify.org/iss-pass.json"):
self.lat = int(input("latitude: "))
self.lon = int(input("longitude: "))
self.url = url
def estimate_request(self):
params = {
"lat": self.lat,
"lon": self.lon
}
try:
response = requests.get(self.url, params=params)
self.json_content = response.json()
return self.json_content
except Exception as e:
return f'Error occurred: {e}'
def __repr__(self):
return f"{pprint(self.estimate_request())}"
latitude: 45
longitude: 30
{'message': 'success',
'request': {'altitude': 100,
'datetime': 1634908665,
'latitude': 45.0,
'longitude': 30.0,
'passes': 5},
'response': [{'duration': 600, 'risetime': 1634956714},
{'duration': 655, 'risetime': 1634962480},
{'duration': 627, 'risetime': 1634968328},
{'duration': 635, 'risetime': 1634974172},
{'duration': 652, 'risetime': 1634979986}]}
def post_data(url="https://httpbin.org/post"):
data = {"key": "value"}
response = requests.post(url, data=data)
print(response)
Response [200]
def post_data(url="https://httpbin.org/post"):
data = {"key": "value"}
response = requests.post(url, data=data)
headers = response.headers
pprint(dict(headers))
{'Access-Control-Allow-Credentials': 'true',
'Access-Control-Allow-Origin': '*',
'Connection': 'keep-alive',
'Content-Length': '479',
'Content-Type': 'application/json',
'Date': 'Mon, 25 Oct 2021 11:02:35 GMT',
'Server': 'gunicorn/19.9.0'}
def post_json_data(url="https://httpbin.org/post"):
data = {"key": "value"}
response = requests.post(url, json=data)
headers = response.headers
content = response.content
dec = content.decode("utf-8")
json_cont = json.loads(dec)
pprint(json_cont)
{'args': {},
'data': '{"key": "value"}',
'files': {},
'form': {},
'headers': {'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate',
'Content-Length': '16',
'Content-Type': 'application/json',
'Host': 'httpbin.org',
'User-Agent': 'python-requests/2.26.0',
'X-Amzn-Trace-Id': 'Root=1-6177e4a2-25a616ba208403692f718992'},
'json': {'key': 'value'},
'origin': '176.236.37.52',
'url': 'https://httpbin.org/post'}
from flask import Flask, request
app = Flask(__name__)
@app.route("/test/test_get", methods=["POST", "GET"])
def get():
if request.method == "GET":
return jsonify({"message": "Success!"})
return
if __name__ == "__main__":
app.run(debug=True)
* Serving Flask app 'test_server' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 735-221-534
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
def test_get():
try:
response = requests.get("http://127.0.0.1:5000/test/test_get")
if response.status_code == 200:
print("Success!")
except Exception as e:
print(e)
@app.route("/test/test_post", methods=["POST", "GET"])
def post():
try:
post_data = request.json
if request.method == "POST":
return post_data
return
except Exception as e:
return e
def test_post():
header = {"Content-Type":"application/json",}
url = "http://127.0.0.1:5000/test/test_post"
post_data = {
"message": "this message from post request"
}
json_data = json.dumps(post_data)
try:
response = requests.post(url=url,headers=header, data=json_data)
return_content = json.loads(response.content)
if response.status_code == 200:
print("Success!")
print("Returned data: ", return_content)
except Exception as e:
print(e)
127.0.0.1 - - [28/Oct/2021 10:45:47] "POST /test/test_post HTTP/1.1" 200 -
Success!
Returned data: {'message': 'this message from post request'}
@app.route("/test/test_put", methods=["POST", "PUT"])
def put():
_db = [
{"Id": "1",
"user": "fake",
"pass": "fake"}
]
try:
put_data = request.json
if request.method == "PUT":
for _ in _db:
if _["Id"] == put_data["Id"]:
_["user"] = put_data["user"]
_["pass"] = put_data["pass"]
print(_db)
return put_data
except Exception as e:
return e
def test_put():
header = {"Content-Type":"application/json",}
url = "http://127.0.0.1:5000/test/test_put"
put_data = {
"Id": "1",
"user": "fakeuser",
"pass": "fakepass"
}
json_data = json.dumps(put_data)
try:
response = requests.put(url=url,headers=header, data=json_data)
return_content = json.loads(response.content)
if response.status_code == 200:
print("Success!")
print("User Updated by: ", return_content["user"])
except Exception as e:
print(e)
Success!
User Updated by: fakeuser
[{'Id': '1', 'user': 'fakeuser', 'pass': 'fakepass'}]
127.0.0.1 - - [01/Nov/2021 09:30:45] "PUT /test/test_put HTTP/1.1" 200 -
def test_delete():
header = {"Content-Type":"application/json",}
url = "http://127.0.0.1:5000/test/test_delete"
delete_data = {
"Id": "1",
"user": "fakeuser",
"pass": "fakepass"
}
json_data = json.dumps(delete_data)
try:
response = requests.delete(url=url,headers=header, data=json_data)
if response.status_code == 200:
print("Success!")
except Exception as e:
print(e)
@app.route("/test/test_delete", methods=["POST", "DELETE"])
def delete():
_db = [
{"Id": "1",
"user": "fake",
"pass": "fake"}
]
try:
delete_data = request.json
if request.method == "DELETE":
for _ in _db:
if _["Id"] == delete_data["Id"]:
_db.remove(_)
print(_db)
return delete_data
except Exception as e:
return e
[]