urllib was not enough to make the request I wanted, but urllib2 helped out:
def requestAPIData(url, jsonRequestData):
request = urllib2.Request(url)
request.add_data(json.dumps(jsonRequestData))
request.add_header("Content-type", "application/json")
request.add_header("Accept", "application/json")
r = urllib2.urlopen(request)
geometryJson = json.load(r)
return geometryJson
thanks for the help!