如何使用casper.open()将JSON对象发布到服务器?

时间:2015-02-17 10:37:55

标签: json curl phantomjs httprequest casperjs

我正在尝试使用以下

向服务器发送请求
this.open('someurl',{
            method: 'post',
            data:   {
                'memberId': obj.id,
                'password': obj.password
            },
            headers: {
                'Accept':'application/json',
                'Content-Type':'application/json',
            }
        }).then(function(response){
            require('utils').dump(response);
        });

但它失败了以下回复

{
"contentType": null,
"headers": [
    {
        "name": "Content-Length",
        "value": "8008"
    },
    {
        "name": "Server",
        "value": "Jetty(8.1.8.v20121106)"
    }
],
"id": 2,
"redirectURL": null,
"stage": "end",
"status": 415,
"statusText": "Unsupported Media Type",
"time": "2015-02-17T10:34:16.952Z",
"url": <someURL>,
"data": null

等效CURL命令成功

  

curl -i someurl -X POST -H Content-Type:application / json --data'{“memberId”:1234567,“password”:“password”}'。

我哪里错了?

1 个答案:

答案 0 :(得分:0)

如果您已在机器上使用npm或brew安装。不起作用。您需要从源代码编译casperjs以使其工作。我没有参考,但我也从一个论坛上读到了这个。