Skip to content
This repository was archived by the owner on Nov 7, 2024. It is now read-only.

Commit 98cf188

Browse files
authored
Merge pull request #3 from foudezic63/master
ADD : possibility to use proxy configuration, see docs.python-requests.org/en/master/user/advanced/ for more info
2 parents 612efe5 + f31b4d8 commit 98cf188

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

flightradar24/core.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ class Api:
2323
'flights': '/zones/fcgi/feed.js?faa=1&mlat=1&flarm=1&adsb=1&gnd=1&air=1&vehicles=1&estimated=1&gliders=1&stats=1&maxage=14400&airline=!'
2424
}
2525

26-
def __init__(self):
27-
response = api_request(self.balanceJsonUrl)
26+
def __init__(self, proxies=None):
27+
self.proxies = proxies
28+
response = api_request(self.balanceJsonUrl, self.proxies)
2829
tmp_weight = 0
2930
tmp_uri = None
3031
for uri, weight in response.items():
@@ -34,18 +35,18 @@ def __init__(self):
3435
self.balanceUrl = tmp_uri
3536

3637
def get_airports(self):
37-
return api_request(self.baseUrl + self.metaDataEndPoints['airports'])
38+
return api_request(self.baseUrl + self.metaDataEndPoints['airports'], self.proxies)
3839

3940
def get_airlines(self):
40-
return api_request(self.baseUrl + self.metaDataEndPoints['airlines'])
41+
return api_request(self.baseUrl + self.metaDataEndPoints['airlines'], self.proxies)
4142

4243
def get_flights(self, airline):
4344
endpoint = self.liveDataUrl + self.realTimeDataEndPoints['flights'] + airline+'&_=' + str(time.time())
44-
return api_request(endpoint)
45+
return api_request(endpoint, self.proxies)
4546

4647
def get_flight(self, flight_id):
4748
endpoint = self.apiUrl + self.realTimeDataEndPoints['flight'] + flight_id
48-
return api_request(endpoint)
49+
return api_request(endpoint, self.proxies)
4950

5051
def get_zones(self):
51-
return api_request(self.baseUrl + self.metaDataEndPoints['zones'])
52+
return api_request(self.baseUrl + self.metaDataEndPoints['zones'], self.proxies)

flightradar24/helpers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import requests
44

55

6-
def api_request(end_point):
6+
def api_request(end_point, proxies=None):
77
request_base_headers = {'User-agent': 'mkorkmaz/FR24/1.0'}
8-
r = requests.get(end_point, headers=request_base_headers)
8+
r = requests.get(end_point, headers=request_base_headers, proxies=proxies)
99
if r.status_code is 402:
1010
raise RuntimeError("Request to " + end_point + " requires payment")
1111
if r.status_code is 403:

tests/test_contract.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ class ContractTestSuite(unittest.TestCase):
1212
def test_balance_json():
1313
flightradar24.Api()
1414

15+
@staticmethod
16+
def test_balance_json_with_proxy():
17+
proxies = {'http': 'http://78.188.162.174:45318', 'https': 'https://78.188.162.174:45318'}
18+
flightradar24.Api(proxies=proxies)
19+
1520
@staticmethod
1621
def test_airports():
1722
fr = flightradar24.Api()

0 commit comments

Comments
 (0)