PHP處理來自Python的Post的json數據

最近用Python處理了一些json數據,但在過程中遇到一些問題,遂記錄之。


1.Python Post json格式數據至服務器:

查閱了一些資料,大多是這麼樣的:

__author__ = 'jiezhi'

import urllib
import urllib2

data = {'name': 'jiezhi', 'age': '24'}
ret = urllib2.urlopen(url='http://jiezhiblog.com/test.php', data=urllib.urlencode(data))
print ret.read()


但是,到php那裏往往是array類型的了。

經過幾番折騰改用下面的代碼:

__author__ = 'jiezhi'

import urllib2
import json

data = {'name': 'jiezhi', 'age': '24'}
ret = urllib2.urlopen(url='http://jiezhiblog.com/test.php', data=json.dumps(data))
print ret.read()


2.在PHP端問題

用了改後的Python代碼,卻發現$_POST沒有獲取到數據,所以改用file_get_contents("php://input")來獲取提交的數據:

<?php
    $input = file_get_contents("php://input");
    var_dump($input);
    if ($input){
        print_r($input);
        $arr = json_decode($input,true);
        echo "arr";
        print_r($arr);
    }
?>

此時可以正確獲取到提交的數據。

首發地址:http://jiezhiblog.com/archives/366 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章