equivalent of file_get_contents(“php://input”); in classic asp

筅森魡賤 提交于 2019-12-24 01:44:14

问题


Is this it?

I am trying to convert, $data = file_get_contents("php://input"); to classic 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    

edit: Answering John's question...

Realtime Updates

Following a successful subscription, Facebook will proceed to call your endpoint every time that there are changes (to the chosen fields or connections). For each update, it will make an HTTP POST request.

The request will have content type of application/json and the body will comprise a JSON-encoded string containing one or more changes.

Note for PHP developers: In PHP, to get the encoded data you would use the following code:

$data = file_get_contents("php://input"); $json = json_decode($data);


回答1:


Edit #2

This is an educated guess based on your Facebook info - try

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

Basically this is your original idea with a little change in line 2 and another in line 3. You could also try Request.Form rather than Request in line 2 as the script is receiving POST data

Edit - yes, it looks like your code will work, with one minor change. Your URL needs to go inside double quotes - ie

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

Thanks for the question. I've learned something today. I'll leave my original answer as background reading

Could you tell me a bit more about what you are trying to achieve. It looks like you want to take the content of an external URL and then use it in your ASP page. You can certainly use an XML object provided that the output of your external URL is valid XML. The code looks like this.

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

You then have an xml object, here just called "xml" which you can use however you need. For example if you just want it to appear in the page as is you would add

Response.write xml

If your external URL output is not valid XML then I don't think Classic ASP can't do this on its own, you may need to install a third party component on your server, such as AspTear

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

The code you suggest above, or a variation on it, might well work, I'm going to experiment with it. Classic ASP itself has had no updates for more than a decade but Microsoft's XML processor certainly has been updated



来源:https://stackoverflow.com/questions/15440378/equivalent-of-file-get-contentsphp-input-in-classic-asp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!