Skip to content

Commit 24bbfd0

Browse files
authored
Merge pull request #78 from knownsec/dev
Dev
2 parents 30b4a69 + abbbb88 commit 24bbfd0

File tree

2 files changed

+25
-18
lines changed

2 files changed

+25
-18
lines changed

zoomeye/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111

1212
__name__ = 'zoomeye'
1313
__package__ = 'zoomeye'
14-
__version__ = 'v2.1.1'
14+
__version__ = 'v2.1.2'
1515
__site__ = "https://www.zoomeye.org/doc"

zoomeye/sdk.py

+24-17
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,11 @@ def _request(self, url, params=None, headers=None, method='GET'):
115115
"""
116116
# if method is "GET" use requests.get
117117
if method == "GET":
118-
resp = requests.get(url, data=params, headers=headers)
118+
resp = requests.get(url, params=params, headers=headers)
119119
# request method is "POST"
120120
else:
121-
resp = requests.post(url, params, headers)
121+
resp = requests.post(url, data=params, headers=headers)
122+
print(resp.text)
122123
# if response succeed and status code is 200 return json data
123124
if resp and resp.status_code == 200:
124125
data = resp.json()
@@ -133,6 +134,21 @@ def _request(self, url, params=None, headers=None, method='GET'):
133134
else:
134135
raise ValueError(resp.json().get('message'))
135136

137+
def _check_header(self):
138+
if self.api_key:
139+
headers = {
140+
'API-KEY': self.api_key,
141+
}
142+
elif self.access_token:
143+
headers = {
144+
'Authorization': 'JWT %s' % self.access_token
145+
}
146+
else:
147+
headers = {}
148+
# add user agent
149+
headers["User-Agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"
150+
return headers
151+
136152
def login(self):
137153
"""
138154
please see: https://www.zoomeye.org/doc#login
@@ -167,9 +183,7 @@ def dork_search(self, dork, page=0, resource="host", facets=None):
167183
search_api = self.search_api.format(resource)
168184
if isinstance(facets, (tuple, list)):
169185
facets = ','.join(facets)
170-
headers = {'Authorization': 'JWT %s' % self.access_token,
171-
'API-KEY': self.api_key,
172-
}
186+
headers = self._check_header()
173187
params = {'query': dork, 'page': page, 'facets': facets}
174188
resp = self._request(search_api, params=params, headers=headers)
175189
if resp and "matches" in resp:
@@ -207,10 +221,7 @@ def multi_page_search(self, dork, page=1, resource="host",
207221
self.search_type = resource
208222
search_api = self.search_api.format(resource)
209223

210-
headers = {
211-
'Authorization': 'JWT %s' % self.access_token,
212-
'API-KEY': self.api_key,
213-
}
224+
headers = self._check_header()
214225

215226
dork_data = []
216227
all_data = []
@@ -246,9 +257,7 @@ def resources_info(self) -> dict:
246257
see: https://www.zoomeye.org/doc#resources-info
247258
:return: dict
248259
"""
249-
headers = {'Authorization': 'JWT %s' % self.access_token,
250-
'API-KEY': self.api_key,
251-
}
260+
headers = self._check_header()
252261
result = self._request(self.user_info_api, headers=headers)
253262
return result
254263

@@ -301,9 +310,7 @@ def history_ip(self, ip):
301310
result = {}
302311

303312
zoomeye_api = self.history_api.format(ip)
304-
headers = {'Authorization': 'JWT %s' % self.access_token,
305-
'API-KEY': self.api_key,
306-
}
313+
headers = self._check_header()
307314
resp = self._request(zoomeye_api, headers=headers)
308315
if resp and 'data' in resp:
309316
result = resp
@@ -321,7 +328,7 @@ def domain_search(self, q, source=0, page=1) -> list:
321328
list
322329
"""
323330
search_api = self.search_api.format('domain')
324-
headers = {'Authorization': 'JWT %s' % self.access_token, 'API-KEY': self.api_key}
331+
headers = self._check_header()
325332
request_result = self._request(search_api, params={"q": q, "type": source, "page": page}, headers=headers)
326333
if request_result:
327334
self.raw_data = request_result # json字符串
@@ -336,7 +343,7 @@ def generate_dot(self, q, source=0, page=1):
336343
"""
337344
error_info = ''
338345
search_api = self.search_api.format('domain')
339-
headers = {'Authorization': 'JWT %s' % self.access_token, 'API-KEY': self.api_key}
346+
headers = self._check_header()
340347
try:
341348
request_result = self._request(search_api, params={"q": q, "type": source, "page": page}, headers=headers)
342349
except Exception as e:

0 commit comments

Comments
 (0)