在Node.js中向请求添加Recaptcha令牌

时间:2018-07-19 17:57:00

标签: node.js http-post token recaptcha

因此,我正在使用Node.JS请求模块,我希望将recaptcha令牌(一旦解决即生成)放入请求中,但不确定如何实现。

这是我目前的代码,虽然我尝试过表单,但仍然不会。

function fireVote(username, captchaKey){
    rp({
        uri: voteUrl,
        method: "POST",
        qs: {
            "username": username,
            "g-recaptcha-response": captchaKey
        },
        headers: {
            'User-Agent': "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"
        }
    }).then(body => {
        console.log(body);
        if(body.includes("Voted")){
            console.log("Done!");
        }
    })
}

谢谢!

1 个答案:

答案 0 :(得分:1)

您必须在请求正文中发送值, 内容类型指定的格式。

通常,内容类型为application / x-www-form-urlencoded

根据请求文档遵循如何发送POST请求

https://www.npmjs.com/package/request

class BookListPage extends StatefulWidget {
  final int id;
  BookListPage({this.id});
  @override
  _BookListPageState createState() => _BookListPageState();
}

class _BookListPageState extends State<BookListPage> {
  bool loading;
  List<Map> bookNames;

  _BookListPageState();
  void initState() {

    super.initState();
    loading = true;
    getBookData();

  }

  Future getBookData() async {
    print(widget.id);
    Directory documentsDirectory = await getApplicationDocumentsDirectory();

实际上,如果您没有在服务器端验证reCAPTCHA,则无需发送令牌。

  

https://developers.google.com/recaptcha/docs/verify