最近用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