【问题标题】:How to handle req.params.url when url contains "://"?当url包含“://”时如何处理req.params.url?
【发布时间】:2019-03-10 17:06:02
【问题描述】:

我正在尝试使用 ExpressJS 编写程序。 用户应该能够向我发送一个网址。但是有一个问题。 它不起作用,因为用户向我发送带有 url 的 url(使用 XMLHTTPRequest)。

如何处理 url 并获取包含 url 的方法? 谢谢

【问题讨论】:

  • 你是什么意思“给我发送带有url的url”?!
  • 你能给出你要解决的url吗?
  • 您需要提供minimal reproducible example。字符 :// 并没有阻止它们通过大多数使用 HTTP 的常见方式发送。
  • 用户会向服务器发送类似的内容:website.com/create/google.com 但是有一个问题,因为“google.com”参数包含“://”跨度>
  • 客户端需要对他们在 URL 中的所有内容进行 URL 转义。

标签: javascript node.js express


【解决方案1】:

您可能希望使用查询参数而不是 url 参数。 这看起来像这样:

http://youhosthere.com/submitUrl/?url=THE_URL_TO_SUBMIT

但这也意味着,用户必须转义他要提交的 url。例如,在 Javascript 中,这可以通过使用 encodeURIComponent:

来完成
encodeURIComponent('THE_URL_TO_SUBMIT')

有关 encodeURIComponent 的更多信息,您可能需要阅读the mozilla article

使用 express,您可以使用 Marcus Granström here 提出的 req.query.YOUR_QUERY_PARAM 读取查询参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    相关资源
    最近更新 更多