【问题标题】:How do I move the API Key from the querystring into the request header?如何将 API 密钥从查询字符串移动到请求标头中?
【发布时间】:2012-06-03 20:54:22
【问题描述】:

我一直在研究随 article 发布的示例代码。它有效,我可以按原样使用它。但是,我真的很想将 apikey 作为请求标头而不是查询字符串参数提交。这将使 URL 更清晰。

我知道如何在 Fiddler 等工具中添加请求标头,但如何修改代码以查看标头而不是查询字符串?

仅供参考,我正在使用 MVC 4 Beta...

【问题讨论】:

    标签: asp.net-mvc web-services asp.net-mvc-4 api-key


    【解决方案1】:

    标头变量和 URL 参数不同,但通常在处理请求时您会发现它们位于相同的数据结构中。我不熟悉 .NET,但您应该有一个可用的标头输入数组或哈希,就像您拥有 URL 参数一样。类似的东西

    System.Web.HttpContext.Current.Request.Headers["APIKey"];

    好像是候选人(更改 varname)

    【讨论】:

    • 疑惑的不是怎么能拿到,而是怎么提交?除此之外,他正在使用 asp.net mvc 并且控制器被定义为接收参数,框架负责使其工作
    • 在标头中发送密钥取决于客户端是什么 - 大多数客户端将有一种方法来构建具有一组标头参数的 HTTP 调用。如果您使用 Ruby/Java/Python 等进行编码,这应该很容易。
    【解决方案2】:

    如果你发送它像“表单数据”(POST) 插入查询字符串参数(GET) 用于表单提交

    【讨论】:

    • 我不想发送 POST 来执行此操作。我目前正在发送 GET 请求,不需要 POST。另外,当 GET 足够时发布 POST 是一种不好的做法。
    • 那么您将保留查询字符串中的值
    • GET / POST 是否与标头无关。这是另一回事(见下文)
    猜你喜欢
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    • 2019-05-02
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    相关资源
    最近更新 更多