2012-08-04 156 views
1

我有一个去Facebook服务器的jquery Ajax请求。 (jsonP)在asp.net中模拟请求?

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

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

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

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

ashx处理程序是否有任何方式能够将cookie与其请求一起传输(就像jQuery ajax会这样做)?

回答

1

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

请求1:

  • 浏览器发送的第一次请求您的ASHX处理程序。
  • 您的处理程序将其中继到Facebook服务器。
  • FB与内容+一个Set-Cookie头(一个或多个)响应(FB-饼干= XXXfacebook.com
  • 你的处理程序编辑的内容,并与某种返回设置cookie头前缀(您-FB-饼干= XXXyoursite.com

请求2:

  • 下一次的浏览器将请求发送到您的ashx的处理程序,您将收到的“您-FB-饼干= XXX”(因为它是在定义yoursite.com
  • 你处理该请求中继与cookie来FB “FB-饼干= XXX
  • ...

然而,要知道,Facebook的(或任何其他服务)可以(也应该)使用某种类型的反 - 血液检测。 它可能会阻止你的服务器的IP地址,因为它收到很多来自它的请求。 这甚至可能违反FB许可条款。