LoginSignup
1
4

More than 5 years have passed since last update.

pythonでAPIからJSON型データ取得・解析・変数格納(pycurl,json)

Last updated at Posted at 2018-03-03
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で証明書チェックを無視している。要件により証明書の場所を指定するオプションに変更する。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4