在asp.net中模拟请求?

时间:2012-08-04 08:11:27

标签: asp.net http jquery cookies

我有一个Jquery Ajax请求进入Facebook服务器。 (JSONP)

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

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

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

问题是Facebook需要它的cookie,而IMHO -only facebook可以访问它的cookie。

ashx处理程序是否有任何方法可以将cookie与其请求一起转发(就像jQuery ajax那样)?

1 个答案:

答案 0 :(得分:1)

从技术上讲,您可以模拟一个支持cookie的用户代理并将其转发给用户。

请求1:

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

请求2:

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

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