2012-08-04 146 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許可條款。