1

我有一个发送到 Facebook 服务器的 Jquery Ajax 请求。(jsonP)

但是,我对当前的响应不满意,我想在响应返回到 ajax 调用之前“编辑”响应。

为了做到这一点,我正在考虑proxy通过 ashx 构建一个。(它将执行请求,当响应返回时 - 他将对其进行编辑,并将返回到 ajax 调用)。

jQuery ajax ---> myHandler.ashx ----> Facebook +--->
                                                    |
                                                    |
jQuery ajax <---- myHandler.ashx(+edit) <-----------+

问题是 Facebook 需要它的 cookie,而恕我直言,只有 facebook 可以访问它的 cookie。

ashx 处理程序有什么方法可以将 cookie 连同他的请求一起传输(就像 jQuery ajax 一样)?

4

1 回答 1

1

从技术上讲,您可以模拟 cookie 感知用户代理并将它们中继给用户。

请求 1:

  • 浏览器将第一个请求发送到您的 ashx 处理程序。
  • 您的处理程序将其中继到 facebook 服务器。
  • FB 以内容 + 设置 cookie 标头响应(facebook.com上的fb-cookie=xxx
  • 您的处理程序编辑内容并返回带有某种前缀的 set-cookie 标头(your-fb-cookie=xxx on yoursite.com

要求 2:

  • 下次浏览器向您的 ashx 处理程序发送请求时,您将收到“ your-fb-cookie=xxx ”(在yoursite.com上定义)
  • 您的处理程序使用 cookie“ fb-cookie=xxx ”将请求中继到 FB
  • ...

但是,请注意,facebook(或任何其他服务)可能(并且应该)使用某种反洪水检测。它可能会阻止您的服务器的 IP 地址,因为它会收到大量来自它的请求。这甚至可能违反 FB 许可条款。

于 2012-08-04T08:39:04.557 回答