2013-03-15 100 views
2

是這個嗎?;在傳統的ASP

我想$data = file_get_contents("php://input");轉換,以傳統的ASP ...

Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP.6.0") 
    xmlhttp.open "GET", php://input, false 
    xmlhttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded" 
    xmlhttp.send 
    TOKEN = xmlhttp.responseText  

編輯:回答John的問題...

實時更新

繼成功簽約,臉譜將繼續每一個有變化(在所從事的領域 或連接)時間打電話給你 端點。對於每個更新,它將發出HTTP POST請求。

該請求將具有application/json的內容類型,並且主體 將包含包含一個或多個更改的JSON編碼的字符串。

注意PHP開發人員:在PHP中,讓你可以使用 下面的代碼的編碼數據:

$數據=的file_get_contents( 「PHP://輸入」); $ JSON = json_decode($數據);

+0

我會重申這是'我怎樣才能讀取經典的ASP原始請求身體'。與PHP無關。 – Wrikken 2013-03-16 17:53:58

+0

是的,你發佈的代碼應該工作。它出什麼問題了?你得到什麼錯誤? – 2013-03-17 09:03:02

回答

2

編輯#2

這是基於你的Facebook信息的猜測 - 嘗試

Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP.6.0") 
xmlhttp.open "GET", Request, false 
xmlhttp.setRequestHeader "Content-type", "application/json" 
xmlhttp.send 
TOKEN = xmlhttp.responseText 

基本上這是你最初的想法與2號線一點點的變化,另一個在3線你也可以嘗試的Request.Form,而不是要求在第2行的腳本接收POST數據

編輯 - 是的,它看起來像你的代碼將工作,只有一個小的變化。您的網址需要在雙引號內 - 即

xmlhttp.open "GET", "php://input", false 

感謝您的提問。今天我學到了一些東西。我會離開我原來的答覆爲背景閱讀

你能告訴我一點有關你想達到的目標。它看起來像你想採取外部URL的內容,然後在你的ASP頁面中使用它。只要外部URL的輸出是有效的XML,就可以使用XML對象。代碼看起來像這樣。

set xml = Server.CreateObject("Msxml2.DomDocument") 
xml.setProperty "ServerHTTPRequest", true 
xml.async = false 
xml.validateOnParse = false 
xml.load("http://yoururl") 

然後,您有一個XML對象,這裏只是所謂的「XML」,你可以使用,但是你所需要的。例如,如果你只是希望它出現在頁面是你想補充

Response.write xml 

如果外部URL輸出不是有效的XML,然後我不認爲傳統的ASP無法做到這一點對自己,您可能需要在服務器上安裝一個第三方組件,如AspTear

http://www.alphasierrapapa.com/ComponentCenter/AspTear/

你上面建議的代碼,或在其上的變化,可能會很好地工作,我打算用它做實驗。經典的ASP本身已經超過十年沒有更新,但微軟的XML處理器肯定已經更新

+0

John,非常感謝您的研究和信息。 Facebook正在向我發送具有JSON編碼字符串的HTTP POST請求,並且我想要將該數據插入數據庫中。 – Efe 2013-03-16 20:16:11

+0

請檢查原始信息。我爲你編輯它。 – Efe 2013-03-16 20:16:32

+0

另外,我設法用'tot_bytes = Request.TotalBytes'來計算字符串。所以我可以用二進制格式獲取它,但我找不到將其轉換爲字符串的方法。 – Efe 2013-03-16 20:29:48