gpt4 book ai didi

javascript - 在 phantomjs 中解析发布数据

转载 作者:搜寻专家 更新时间:2023-11-01 05:23:36 25 4
gpt4 key购买 nike

我正在使用 Chrome 的 POSTMAN 扩展并尝试向 phantomjs 发送发布请求我已经设法通过设置 postman 向 phantomjs 服务器脚本发送发布请求,如所附屏幕截图中所示 enter image description here

我的phantomjs脚本如下:

// import the webserver module, and create a server
var server = require('webserver').create();
var port = require('system').env.PORT || 7788;

console.log("Start Application");
console.log("Listen port " + port);

// Create serever and listen port
server.listen(port, function(request, response) {

console.log("request method: ", request.method); // request.method POST or GET

if(request.method == 'POST' ){
console.log("POST params should be next: ");
console.log(request.headers);
code = response.statusCode = 200;
response.write(code);
response.close();

}
});

当我在命令行运行 phantomjs 时,输出如下:

$ phantomjs.exe myscript.js
Start Application
Listen port 7788
null
request method: POST
POST params should be next:
[object Object]
POST params: 1=bill&2=dave

所以,它似乎确实有效。我现在的问题是如何将帖子正文解析为变量,以便我可以在脚本的其余部分访问它。

最佳答案

要读取发布数据,您不应该使用 request.headers,因为它是 HTTP header (编码、缓存、cookie 等)

如前所述here ,您应该使用 request.postrequest.postRaw

request.post 是一个json对象,所以你把它写到控制台。这就是您获得 [object Object] 的原因。尝试在记录时应用 JSON.stringify(request.post)

由于request.post是一个json对象,您也可以直接使用索引器读取属性(如果属性没有发布,不要忘记添加基本检查)

这是你的脚本的更新版本

// import the webserver module, and create a server
var server = require('webserver').create();
var port = require('system').env.PORT || 7788;

console.log("Start Application");
console.log("Listen port " + port);

// Create serever and listen port
server.listen(port, function (request, response) {

console.log("request method: ", request.method); // request.method POST or GET

if (request.method == 'POST') {
console.log("POST params should be next: ");
console.log(JSON.stringify(request.post));//dump
console.log(request.post['1']);//key is '1'
console.log(request.post['2']);//key is '2'
code = response.statusCode = 200;
response.write(code);
response.close();
}
});

关于javascript - 在 phantomjs 中解析发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19550582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com