什么是“csci”(贝宝)

Posted

技术标签:

【中文标题】什么是“csci”(贝宝)【英文标题】:What is "csci" (Paypal) 【发布时间】:2016-10-27 17:33:28 【问题描述】:

我正在尝试创建一个 httpclient,它将使用令牌示例登录到 paypal 并结帐:EC-72W98000K01165117。 当我使用浏览器付款并使用 Fiddler 捕获请求时,这是我的浏览器请求


"meta": 
    "token": "EC-72W98000K01165117",
    "calc": "7b55bc20cca9d",
    "csci": "7a4236636ffd49dc934eb73da4402f49",
    "locale": 
        "country": "US",
        "language": "en"
    ,
    "state": "ui_checkout_review",
    "app_name": "hermesnodeweb"

我不知道 "csci": "7a4236636ffd49dc934eb73da4402f49" 来自哪里:(

【问题讨论】:

【参考方案1】:

在深入研究这个 api 编写自动化套件后,结果发现 csci 只是一个 UUID(通用唯一标识符)。请求中的任何 32 位十六进制值都应该有效,只要该标识符以前没有被使用过。任何随机生成这些的方法都足够了,但是在页面上生成它的 javascript 代码是:

  // See https://github.com/broofa/node-uuid for API details
  function v4(options, buf, offset) 
    // Deprecated - 'format' argument, as supported in v1.2
    var i = buf && offset || 0;

    if (typeof options === 'string') 
      buf = options === 'binary' ? new BufferClass(16) : null;
      options = null;
    
    options = options || ;

    var rnds = options.random || (options.rng || _rng)();

    // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
    rnds[6] = rnds[6] & 0x0f | 0x40;
    rnds[8] = rnds[8] & 0x3f | 0x80;

    // Copy bytes to buffer, if provided
    if (buf) 
      for (var ii = 0; ii < 16; ii++) 
        buf[i + ii] = rnds[ii];
      
    

    return buf || unparse(rnds);
  

【讨论】:

以上是关于什么是“csci”(贝宝)的主要内容,如果未能解决你的问题,请参考以下文章

CSCI3180

CSCI 3110

CSCI2110

CSCI 1100 程序讲解

CSCI 2132: Software Development

CSCI 2132: Software Development