如何从$ request中提取请求参数?

时间:2019-06-10 06:55:48

标签: regex nginx nginx-config

我想使用regex和 getEuclidianDistance(arr1, arr2) { // calculate euclidian distance between two arrays let distTensor = tf.tidy(() => { const distance = tf.squaredDifference(arr1, arr2).sum().sqrt(); return distance.dataSync() }) return distTensor[0]; } 从http块中的$ request中提取请求参数(reqId)值 你能帮我解决吗?

示例网址:

map

我不确定在这种情况下正则表达式是什么,但可能 解决方案就像

test-registration.com/emp/reg?reqId=939393&usrName=Jimmy

如果还有其他解决方案可以解决此问题,请告诉我。 我以为我可以使用$ arg_reqId,但不确定是否可以在http块中使用它。

编辑: 提取ID之后,我想对其应用sha-256哈希并将其放回$ request。 因此,$ request的新值应类似于:

  

test-registration.com/emp/reg?reqId = $#&$#&yewywjd3&usrName = Jimmy

谢谢

2 个答案:

答案 0 :(得分:0)

您可以尝试以下模式:reqId=([^&]+)

说明:

reqId=-从字面上匹配reqId=

(...)-捕获组

[^&]+-匹配&以外的一个或多个字符

要求值将存储在第一个捕获组中。

Demo

答案 1 :(得分:0)

该地图块怎么样:

http {
    map $request $requestId {
      "~/emp/reg\?reqId=(?<reqId>[0-9]+)"  /doSomething/$reqId;
    }
}