【问题标题】:NodeJS API HTTP POST request with authentication带有身份验证的 NodeJS API HTTP POST 请求
【发布时间】:2017-08-17 13:29:35
【问题描述】:

知道如何将以下 php 代码示例“翻译”成 NodeJS 中的 HTTP API 请求吗?

<?php
$auth='<?xml version="1.0" encoding="UTF-8" ?>
            <Auth>
                <Username>...</Username>
                <PasswordCrypt>...</PasswordCrypt>
                <ShopId>...</ShopId>
                <AuthCode>...</AuthCode>
            </Auth>';
$params='<?xml version="1.0" encoding="UTF-8" ?>
            <Params>
                <Key>...</Key>
            </Params>';

$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, "https://api.unas.eu/shop/getOrder");
curl_setopt($curl, CURLOPT_POSTFIELDS,"auth=".$auth."&params=".$params);
$response = curl_exec($curl);

echo $response;
?>

参数必须在 (auth, params, XML) POST 变量中发送。

提前很多,

亲切的问候, Zsolt

【问题讨论】:

    标签: php node.js xml api httprequest


    【解决方案1】:

    浏览器中,您可以使用jQuery轻松地请求和解析XML:

    $.ajax({
        url: "https://mail.google.com/mail/feed/atom/",
        dataType: "xml",
        success: function(data) {
            console.log(data);
        }
    });
    

    或者如果你只是想解析 XML,你可以使用 DOMParser():

    parser = new DOMParser();
    xmlDoc = parser.parseFromString(txt, "text/xml");
    

    使用 Node.js 会稍微复杂一些。 Javascript 熟悉 JSON(JavaScript Object Notation),因此没有内置 XML 解析器。您必须需要某种 XML 解析器模块,例如:

    1. libxmljs
    2. xml-stream
    3. xmldoc
    4. cheerio – 为 XML(和 HTML)实现核心 jQuery 的子集

    完整示例:

    var fetch = require('node-fetch'), //implements Fetch API for making requests
        libxmljs = require("libxmljs"); //xml parser, read about it here: https://github.com/libxmljs/libxmljs
    
    fetch('http://SOME_PAGE.com/data?type=xml')
    .then((res) => res.text())
    .then((xml) => {
      var xmlDoc = libxmljs.parseXml(xml);
    
      //do something with xmlDoc
    
    });
    

    【讨论】:

      猜你喜欢
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多