pygetpost.py
import pycurl,json
from cStringIO import StringIO
#basic curl settings
curl = pycurl.Curl()
data = StringIO()
#API handling
def _curlurl(curlurl, method, exitno):
data.truncate(0) #truncate old data
curl.setopt(pycurl.URL, str(curlurl))
curl.setopt(pycurl.CUSTOMREQUEST, method)
curl.setopt(pycurl.TIMEOUT, 300) #タイムアウト値追加
curl.setopt(pycurl.WRITEFUNCTION, data.write)
#curl.setopt(pycurl.VERBOSE, True)
curl.setopt(pycurl.SSL_VERIFYPEER, 0)
#curlのエラートラップ
try:
curl.perform()
except Exception as e:
print 'error occured while curling into API: ' + str(e)
sys.exit(exitno)
#コマンド結果のエラートラップ(エラーキーはAPIによって違う)
if json.loads(data.getvalue()).has_key("errorcode"):
print 'errorcode: ' + json.loads(data.getvalue()).get("errorcode") + ' || errormessage: ' + json.loads(data.getvalue()).get("errormessage")
else:
return json.loads(data.getvalue())
#get value from API
url = 'https://kfjaslfjaifjaifjl//:8080'
_curlurl(url, 'POST', 1)
#注意
SSL_VERIFYPEERで証明書チェックを無視している。要件により証明書の場所を指定するオプションに変更する。