HTTPプロトコルを使用して、json形式のデータをサーバに転送するpythonコードを作成しました。使用したpythonはバージョン2.7.9で作成したプログラムはRaspberry PI 3で実行させました。

pythonソースコード

次のようにして、json形式のrequestメッセージを送信します。「jsondump.php」は、サーバから受け取ったhttpメッセージのヘッダとbodyをレスポンスとして返すphpプログラムです。

test.py

import json
import requests

def main():
    dict = {
    "foo": "0987654321"
    }
    response = requests.post(
       'http://127.0.0.1/jsondump.php',
        json.dumps(dict),
        headers={'Content-Type': 'application/json'})
    print  response.text


if __name__=='__main__':
    main()

jsondump.php

<?php
try {
	print_r(getallheaders() );
	echo "body".file_get_contents('php://input');
} catch (PDOException $e){
    var_dump($e->getMessage());
}
?>

Httpプロトコルを使用したjsonによるデータ送信

作成したプログラムを実行すると、次のように端末に表示されます。

$ python test.py
Array
(
    [Host] => 133.242.236.247
    [Content-Length] => 21
    [Accept-Encoding] => gzip, deflate
    [Accept] => */*
    [User-Agent] => python-requests/2.4.3 CPython/2.7.9 Linux/4.1.19-v7+
    [Connection] => keep-alive
    [Content-Type] => application/json
)
body{"foo": "0987654321"}