我正在尝试将$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
编辑:回答约翰的问题...
实时更新
成功订阅后,Facebook将继续致电 每当有变化时(到所选字段),您的端点 或连接)。对于每次更新,它都会发出HTTP POST请求。
请求的内容类型为application / json和正文 将包含一个包含一个或多个更改的JSON编码字符串。
PHP开发人员的注意事项:在PHP中,获取您将使用的编码数据 以下代码:
$ data = file_get_contents(“php:// input”); $ json = json_decode($ data);
答案 0 :(得分: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行的Request,因为脚本正在接收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,那么我认为Classic ASP不能单独执行此操作,您可能需要在服务器上安装第三方组件,例如AspTear
http://www.alphasierrapapa.com/ComponentCenter/AspTear/
您在上面建议的代码或其中的变体可能很有效,我将尝试使用它。经典ASP本身在十多年内没有更新,但微软的XML处理器肯定已经更新