Created
February 2, 2018 20:54
-
-
Save chilcote/fb670103b8e90aaea67dee0ffc6cc983 to your computer and use it in GitHub Desktop.
jss api cheatsheet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
import sys, os | |
import urllib, urllib2 | |
import base64 | |
import json | |
import requests | |
import xml.etree.ElementTree as ET | |
def requests_xml(jss_user, jss_pass, jss_url, category): | |
'''return xml data from jss''' | |
try: | |
r = requests.get(jss_url + category, | |
auth=(jss_user,jss_pass)) | |
return r.status_code, r.text | |
except TypeError as err: | |
print 'Cannot connect to JSS.' | |
print err | |
exit(1) | |
def requests_json(jss_user, jss_pass, jss_url, category): | |
'''return json data from jss''' | |
try: | |
r = requests.get(jss_url + category, | |
headers={'Accept': 'application/json'}, | |
auth=(jss_user,jss_pass)) | |
return r.status_code, r.json() | |
except TypeError as err: | |
print 'Cannot connect to JSS.' | |
print err | |
exit(1) | |
def urllib_xml(jss_user, jss_pass, jss_url, category): | |
request = urllib2.Request('%s' % (jss_url + category)) | |
request.add_header('Authorization', 'Basic ' + base64.b64encode(jss_user + ':' + jss_pass)) | |
try: | |
response = urllib2.urlopen(request) | |
return response.code, response.read() | |
except urllib2.HTTPError, e: | |
print e | |
exit(1) | |
def urllib_json(jss_user, jss_pass, jss_url, category): | |
request = urllib2.Request('%s' % (jss_url + category)) | |
request.add_header('Authorization', 'Basic ' + base64.b64encode(jss_user + ':' + jss_pass)) | |
request.add_header('Accept', 'application/json') | |
try: | |
response = urllib2.urlopen(request) | |
return response.code, response.read() | |
except urllib2.HTTPError, e: | |
print e | |
exit(1) | |
def main(): | |
''' | |
Using Advanced Computer Searches | |
There are four examples here: | |
1. xml data returned via requests | |
2. json data returned via requests | |
3. xml data returned via urllib | |
4. json data returned via urllib | |
''' | |
jss_user = "jss_user" | |
jss_pass = "jss_pass" | |
jss_url = "jss_url" | |
api_category = '/advancedcomputersearches' | |
# requests xml data | |
r_code, r_text = requests_xml(jss_user, jss_pass, jss_url, api_category) | |
print r_code | |
root = ET.fromstring(r_text) | |
for search in root.findall('advanced_computer_search'): | |
print '%s\t%s' % (search.find('id').text, search.find('name').text) | |
# requests json data | |
r_code, d = requests_json(jss_user, jss_pass, jss_url, api_category) | |
print r_code | |
for i in d['advanced_computer_searches']: | |
print '%s\t%s' % (str(i.values()[0]), i.values()[1]) | |
# urllib xml data | |
r_code, r_text = urllib_xml(jss_user, jss_pass, jss_url, api_category) | |
print r_code | |
root = ET.fromstring(r_text) | |
for search in root.findall('advanced_computer_search'): | |
print '%s\t%s' % (search.find('id').text, search.find('name').text) | |
# urllib json data | |
r_code, r_text = urllib_json(jss_user, jss_pass, jss_url, api_category) | |
print r_code | |
l = json.loads(r_text)['advanced_computer_searches'] | |
for i in l: | |
print '%s\t%s' % (str(i.values()[0]), i.values()[1]) | |
if __name__ == "__main__": | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment