gpt4 book ai didi

node.js - 提交大值时,casperjs 清空 POST 数据

转载 作者:太空宇宙 更新时间:2023-11-04 00:32:54 25 4
gpt4 key购买 nike

我有一个已加载的表单,我只需提交该表单即可。在表单中有一个输入类型=隐藏字段,其中存储了一些长字符串。这在常规浏览器上运行良好,但不适用于 casper。对此进行分析时,apache 本身从 casper 获取空的 POST 数据。如果我减少隐藏输入上的数据,它就可以正常工作。 casper 中是否有大小限制或定义的内容?

下面是代码:

var casper = require('casper').create();

casper.start('http://localhost/loadForm', function() {
// Wait for the page to be loaded
this.waitForSelector('form[action="/saveConfig"]');
});

casper.then(function() {
this.evaluate(function() {
$('#form').submit();
});
});

casper.run();

最佳答案

下面的错误报告对我有帮助。我认为这是 phantomjs 的一个错误。隐藏字段之一是存储一个 base64 png 图像,在我的 html 页面中它由 canvas.toDataURL("image/png") 填充。与实际浏览器相比,casperjs 中生成的 base64 不同。这导致 php 中 $_POST 为空。但是当我尝试 file_get_contents("php://input") 时,数据全部存在。我通过使用 canvas.toDataURL("image/png", 0) 解决了这个问题。第二个参数在浏览器和 casperjs 中产生一致的输出。

https://github.com/ariya/phantomjs/issues/10455

关于node.js - 提交大值时,casperjs 清空 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40300710/

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