【问题标题】:Need help understanding this HTTP GET request需要帮助了解此 HTTP GET 请求
【发布时间】:2013-03-06 10:47:53
【问题描述】:

我正在尝试构造一个满足以下条件的 HTTP GET Web 请求

 GET /v1/session  
 Host: developer.messenger.yahooapis.com  
 Authorization: < Standard OAuth credentials >

据我所知,get 请求是这样的:

https://someaddress.com/&parameterA=valA&parameterB=valB

其中 parameterA 和 parameterB 是必需的参数。

现在我想为上述标准构建一个类似的地址。我怎样才能做到这一点。我相信地址是https://developer.messenger.yahooapis.com,但是我不确定这样的获取请求的其他要求是什么。如果有人能剖析并指定上述(最顶层)Get Request 的要求,我将不胜感激,以便我能够构造一个有效的 GET 请求 URI。

【问题讨论】:

  • 如果您在浏览器中输入developer.messenger.yahooapis.com/v1/session,您会看到这是一个有效的地址,这里的问题是什么?
  • 授权: 在这里是什么意思?那是一个字符串吗?应该在哪里添加到 uri 中?
  • 这意味着您必须在请求的标头中提供授权详细信息。谷歌授权和 OData。

标签: c# oauth https get


【解决方案1】:

https://developer.messenger.yahooapis.com 所以你的请求网址应该是这样的

https://developer.messenger.yahooapis.com?parameterA=valA&parameterB=valB

您在 $_GET 数组中获取数据,只需添加 print_r($_GET)

【讨论】:

  • 你怎么知道它需要两个参数? parameterA 和 parameterB 只是虚参数。
【解决方案2】:

对于请求,您需要一个类似

的 URL
https://developer.messenger.yahooapis.com

BUT 这只是主机名。 你需要指定一个你想要GET的资源,比如/v1/session,所以你的URL是

https://developer.messenger.yahooapis.com/v1/session

如果你想传递一些参数,你必须表明 URL 的指向部分已经完成。您可以使用? 执行此操作。现在要添加参数,基本上是添加名称-值对,例如var1=value。对于多个参数,使用 &amp; 将它们分开。一起拍打你会得到一个

https://developer.messenger.yahooapis.com/v1/session?var1=value&var2=value

作为网址。现在把它交给你的 HttpGet 方法。

HttpGet 现在将构建一个request,然后将其发送到https://developer.messenger.yahooapis.com,主机/服务器会将资源返回给您的客户端。要告诉主机您有权访问该资源,请求必须包含必要的登录信息,这就是oAuth 的用途。这些凭据必须在执行 get-request 之前添加到请求标头中。

【讨论】:

    猜你喜欢
    • 2012-01-15
    • 2013-10-09
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 2017-06-19
    • 2016-05-03
    相关资源
    最近更新 更多