Javascript 从页面请求PHP数据

Javascript 从页面请求PHP数据,javascript,php,vba,excel,Javascript,Php,Vba,Excel,我正在使用Excel VBA从网页请求信息。我试图找出以下哪种方法在可靠性/性能方面更有效 方法1:使用MSXML2.ServerXMLHTT并从服务器请求数据,如: Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP") URL = "http://www.example.com/page" objHTTP.Open "POST", URL, False objHTTP.setRequestHeader "User-Agent",

我正在使用Excel VBA从网页请求信息。我试图找出以下哪种方法在可靠性/性能方面更有效

方法1:使用MSXML2.ServerXMLHTT并从服务器请求数据,如:

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
   URL = "http://www.example.com/page"
   objHTTP.Open "POST", URL, False
   objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
   objHTTP.send ("")
sURL = "http://www.example.com/page"
Set oBrowser = CreateObject("InternetExplorer.Application") 'New InternetExplorer
oBrowser.navigate sURL

With oBrowser
    Do While .Busy Or .ReadyState <> 4: Loop
End With

Set HTMLDoc = oBrowser.Document
With HTMLDoc
  divID = HTMLDoc.getElementById("myId").innerHTML
End With

oBrowser.Quit
方法2使用IE导航到页面,通过获取特定div id的innerHTML获取所需元素。比如:

Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
   URL = "http://www.example.com/page"
   objHTTP.Open "POST", URL, False
   objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
   objHTTP.send ("")
sURL = "http://www.example.com/page"
Set oBrowser = CreateObject("InternetExplorer.Application") 'New InternetExplorer
oBrowser.navigate sURL

With oBrowser
    Do While .Busy Or .ReadyState <> 4: Loop
End With

Set HTMLDoc = oBrowser.Document
With HTMLDoc
  divID = HTMLDoc.getElementById("myId").innerHTML
End With

oBrowser.Quit
sURL=”http://www.example.com/page"
设置oBrowser=CreateObject(“InternetExplorer.Application”)'新建InternetExplorer
浏览者
带船首的
执行While.Busy或.ReadyState 4:循环
以
设置HTMLDoc=oBrowser.Document
使用HTMLDoc
divID=HTMLDoc.getElementById(“myId”).innerHTML
以
oBrowser.退出
我试图从这个页面获取的数据是用户的全名、地址和注册日期(给定他的用户名)。为此,我有一个PHP脚本


这两种方法中哪一种更快,如果用户没有安装IE(第一种方法有效吗)?

因为这个问题被标记为“javascript”,所以即使关闭javascript,请求的页面中是否存在所需的数据?好问题!我没有考虑那个选项。这个问题没有明确的答案。。。这两种方法都有优点/缺点。我个人更喜欢使用WinHttpRequest对象的第三种方法(但与第一种方法类似)。方法1(对于我使用WinHttpRequest对象的方法)最大的优点是,您可以完全控制服务器和客户机之间的通信,并且无论是否安装IE。。。而且速度快得多。@cboden谢谢你的回答。由于你指出的原因,我也倾向于第1种(或第3种)方法。你知道有什么资源,比如代码示例,我可以用来进一步探讨这个问题吗?