Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

bottleで外部サービスにPOSTする

情けないミスを繰り返してしまったせいで長くなっちゃいましたが。

実際のところ

requestsライブラリをつかいます。
この例では、"/api/func"にアクセスするとIFTTTに投稿するようになっています。
一通りのプロセスが終わると、返ってきたステータスコード*1をよこしてきます。

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from bottle import route, get, run, default_app, request, template
import requests

@get('/api/func')
def api_func():
    data = {"value1": "abc", "value2": "def", "value3": "ghi"}
    headers = {'Content-Type': "application/json"}
    url = 'https://maker.ifttt.com/trigger/{{YOUR_APPNAME}}/with/key/{{YOUR_KEY}}'
    response = requests.post(url, json=data, headers=headers)
    return template("Post Request status_code is {{statusval}}", statusval=response.status_code)

if __name__ == '__main__':
    # コマンドから"python3 index.py"で起動した場合
    run(host='localhost', port=8080)
else:
    # uWSGIから起動した場合
    application = default_app()

参考もと

Requests: HTTP for Humans — Requests 2.18.4 documentation

*1:上手く行けば200