0

我正在发布一个数组

$name[0] = "anurag";
$name[1] = "abhishek"; 
$ch = curl_init('http://localhost:8000/v0/url-generator');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, "name=$name");
curl_exec ($ch);
curl_close ($ch);

在 python 中,我得到了 name = array 。

if request.method == 'POST':
        name = request.POST["name"]

print name

输出 = 数组。

我想在python中输出这个:

name = ['anurag','abhishek']
4

2 回答 2

1

在你的 PHP 中插入 $name 以便你向 curl 请求发送一个字符串而不是一个数组

http://PHP.net/implode

然后在python中拆分值。或者使用 json 数组

于 2013-02-11T08:09:21.487 回答
0

首先使用json_encode($name) 将这个值发送到python程序

如果您要发送 REST 正文,那么在 python 端,您可以尝试

try:
    body = self.request.body
    body_loads = loads(body)
except Exception as e:
    LOG_WARNING('Exception: %s', str(e))
    return WebReturn(self,httplib.FORBIDDEN, {'reason':'Body is not Define '},{'data':"Msg"})
    get = None
get = dict2obj(body_loads)

这是 dict2obj

def dict2obj(d):
        if isinstance(d, list):
            d = [dict2obj(x) for x in d]
        if not isinstance(d, dict):
            return d
        class C(object):
            pass
        o = C()
        for k in d:
            o.__dict__[k] = dict2obj(d[k])
        return o

希望这会帮助你

于 2013-02-11T08:11:00.120 回答