为什么在CasperJS中POST请求响应数据为空,即使相同的请求在Postman中显示数据

Why is the POST request response data null in CasperJS even though same request shows data in Postman

本文关键字:数据 请求 Postman 显示 POST CasperJS 响应 为什么      更新时间:2023-09-26

如何解决POST请求问题的CasperJS脚本?Get响应数据为空,即使相同的请求在POSTMAN中显示数据,具有完全相同的请求。

casper = require('casper').create({
    verbose         : true
    clientScripts   : ['includes/jquery-2.1.1.min.js']
});
casper.start();
var productId = casper.cli.get("productId");
var pageNum = casper.cli.get("pageNum");
var url = 'https://example.com/store/getreviews?authuser=0';
var data= {
 a:'val1',    
 b:'val2'

};

casper.thenOpen(
    url,
    {
        method: 'POST',
        data: data
    }
);
casper.then(function(response) {
    this.echo('Response: '+JSON.stringify(response,null,2));
    this.capture('this.png');
});
casper.run();

为什么在CasperJS中POST请求响应数据为空

PhantomJS不提供任何请求或响应的内容。您只能读取标题信息、状态码和内容长度。你可以在slim .js中访问请求/响应体。

我如何解决CasperJS脚本的POST请求问题?

使用以下命令运行:casperjs——ssl-protocol=any example.js

 var casper = require('casper').create({
        verbose : true,
        logLevel :"debug"
    });
    casper.start();
    casper.then(function() {
        this.open('http://example.com/');
    });
    casper.then(function() {
        resp = this.evaluate(function() {
            var res = $.ajax({
                url: 'https://example.com/store/getreviews?authuser=0',
                method: 'POST',
                data: { 
                    a=val1,
                    b=val2
                },
                async: false
            });
            return res.responseText;
        });
    });
    casper.then(function() {
        console.log(resp);
    });
    casper.run();