2013-03-15 95 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