发布到Web表单并在普通浏览器中显示结果[英] Posting to a Web Form and Displaying the Result in Normal Browser

问题描述

过去两天我一直在为一些我认为是的事情而苦苦挣扎
很简单,就是打开一个带有表单的网页,然后
使用在查询字符串中传递的数据填充表单(POST 或
获取).

我得到了 Application.FollowHyperlink *kind* 的工作,但是有
某些字符的双重编码问题(我必须做特别的
数据中带有+号的东西,以及永远不知道为什么
一些数据被截断).但我也有过可怕的
当我执行 FollowHyperlink 时,Access97 的问题只是崩溃,
以及获得未指定的对象错误.

运行时错误 -2147221020 (800401e4)
对象"_Application"的方法"FollowHyperlink"失败

这可能与页面是 .htaccess
的事实有关密码保护.它似乎第一次工作,提示
密码(但使用 IE 用户名/密码对话框,这似乎
对我来说很奇怪,尽管它应该在 FireFox 中打开),并且
然后它有时会再次工作(没有密码提示),但是
然后在此之后,要么 Access 完全崩溃,要么它崩溃了
上面的错误.

即使它起作用了,我在传递数据时也遇到了问题,
很复杂,有很多外语字符和
硬回报等,但无法使其与所有人都可靠
我的数据.

我刚刚做了一些谷歌搜索并想出了这个(全部在一条线上):

http://groups.google.com/group/comp..../msg/7ba31bf87
26d8ad0

这表明像这样调用 FollowHyperlink:

Application.FollowHyperlink strURL, , , , strOutput, msoMethodGet

或者像这样:

Application.FollowHyperlink strURL &输出

如果 strOutput 长于大约 1000 个字符并且如果
(strURL & strOutput) 超过 2048 个字符.我很有可能
遇到这些限制中的一个或两个,这使得它
不接受使用.

在我发现那篇文章之前,我已经转向 XMLHTTP.我的
代码是很多人从 Access 新闻组中的帖子复制而来的
知道你在做什么的好人.我已经做了一些
简单的概念验证测试,但原本打算不这样做
显示在网页中,但要在幕后而不是
把它交给浏览器.我已经在
上下载并安装了 MSXML4我的电脑,打算安装在目标机器上,所以我想
我会用它.但它不起作用.这是我的代码:

将 oHttp 作为对象调暗
将 strFileName 调暗为字符串

设置 oHttp = CreateObject("Microsoft.XMLHTTP")
''oHttp.Open "GET", "https://www.wurlitzerbruck.com/AddRecord.php?"_
&strOutput, 假
oHttp.打开"POST"、"https://www.wurlitzerbruck.com/AddRecord.php"、_
假的
oHttp.setRequestHeader "Content-Type", _
"应用程序/x-www-form-urlencoded"
''oHttp.send'' GET
oHttp.send (strOutput) '' POST
''oHttp.send(strXMLOutput)'' POST

strOutput 是标准查询字符串(?Parameter1=1&Parameter2=2,
等等).

strXMLOutput 是 XML 格式的查询条件.

如注释掉的代码所示,我也尝试使用 GET,并且
这似乎可行,返回目标页面的 HTML.但是
我不希望那样——我希望它以默认方式显示页面
浏览器.我可以为此使用 GET(尽管更喜欢 POST),
但看不到如何使用它在默认浏览器中加载它.

在 FollowHyperlink 或 XMLHTTP 上有什么想法吗?

无论如何,"升级到较新版本的 Access"不是一个
近期的选择,所以别提了.也许是一个
旧版本的 MSXML 会更好吗?(目标上的选择
机器是 2、3 和 4).而且,顺便说一句,我正在开发 Win2K 和
它将在 Win2K 上运行,全部带有最新的服务包.

有什么建议吗?

--
大卫·W·芬顿 http://www.dfenton.com/
dfenton dot com 上的用户网 http://www.dfenton.com/DFA/

推荐答案

2007 年 4 月 5 日星期四 18:11:23 -0500,"David W. Fenton"
<XX*******@dfenton.com.invalid 写道:

在我不得不将值插入网页的情况下,我会使用
WebBrowser控件,并使用DOM(文档对象模型).
示例:
如果 WebBrowser1.LocationURL = URL_PHOENIX_LIBRARY_REFERENCE_USA 和
WebBrowser1.Document.getElementsByName("cardnum").长度 0 然后
WebBrowser1.Document.All("cardnum").innerText =
LIBRARY_CARD_NUMBER
WebBrowser1.Document.All("cardname").innerText =
LIBRARY_CARD_NAME
WebBrowser1.Document.Forms(0)("提交").点击
其他
MsgBox "此按钮仅在您登录时有效
页面.",vbInformation
结束如果
<clip>

Tom van Stiphout <no*************@cox.net 写于
新闻:95************************************@4ax.com:
在我不得不将值插入网页的情况下,我会使用
WebBrowser 控件,并使用 DOM(文档对象模型).
示例:
如果 WebBrowser1.LocationURL = URL_PHOENIX_LIBRARY_REFERENCE_USA
还有
WebBrowser1.Document.getElementsByName("cardnum").长度 0 然后
WebBrowser1.Document.All("cardnum").innerText =
LIBRARY_CARD_NUMBER
WebBrowser1.Document.All("cardname").innerText =
LIBRARY_CARD_NAME
WebBrowser1.Document.Forms(0)("提交").点击
其他
MsgBox "此按钮仅在您登录时有效
页面.",vbInformation
万一
但是网页浏览器控件与A97严重不兼容,
至少,我最后一次检查.那是我原来的方式
大概三四年前就有了这个想法,但一直没能做到
工作,即使我在安装 al 上控制 IE 的版本


我想我能做的就是相当于某种
网站上的数据库驱动会话管理,并拥有
网站上的脚本使用会话密钥存储数据并返回
将会话密钥作为其输出,然后使用 FollowHyperlink 传递
会话密钥返回到将在
中打开的不同脚本浏览器并显示传递的数据.

但可以肯定的是,这应该是可行的,而无需在
网站?

--
大卫·W·芬顿 http://www.dfenton.com/
dfenton dot com 上的用户网 http://www.dfenton.com/DFA/

大卫·W·芬顿写道:
Tom van Stiphout <no*************@cox.net 写在
新闻:95************************************@4ax.com:
>如果我必须将值插入网页,我会使用
WebBrowser 控件,并使用 DOM(文档对象模型).
示例:
如果 WebBrowser1.LocationURL =URL_PHOENIX_LIBRARY_REFERENCE_USA

WebBrowser1.Document.getElementsByName("cardnum") .length 0 然后
WebBrowser1.Document.All("cardnum").innerText =
LIBRARY_CARD_NUMBER
WebBrowser1.Document.All("cardname").innerText =
LIBRARY_CARD_NAME
WebBrowser1.Document.Forms(0)("Submit").点击
否则
MsgBox "此按钮仅在您位于登录页面时才有效
.", vbInformation
End If

但是网页浏览器控件与A97严重不兼容,
至少,我最后一次检查.那是我原来的方式
大概三四年前就有了这个想法,但一直没能做到
工作,即使我在安装 al 上控制 IE 的版本
机器.

我想我能做的就是相当于某种
网站上的数据库驱动会话管理,并拥有
网站上的脚本使用会话密钥存储数据并返回
将会话密钥作为其输出,然后使用 FollowHyperlink 传递
会话密钥返回到将在
中打开的不同脚本浏览器并显示传递的数据.

但可以肯定的是,这应该是可行的,而无需在
网站?

为什么要在网络浏览器中显示数据?

您是否计划使用
将项目添加到 Web 服务器上的数据库中访问前端,然后查看这些项目是如何显示的
从网站请求?

我为网上商店做过类似的事情,但没有
在浏览器中查看结果.我使用xmhttp请求页面
使用新数据并简单地对其进行解析并显示我需要的内容
在访问表单中了解.

我实际上是按项目编号自动提出请求,然后就坐在那里
看着结果显示在表格中.



本文地址:https://www.itbaoku.cn/post/1050490.html

相关标签/搜索