【问题标题】:How To Interact With External Website Within WebPage如何在网页中与外部网站交互
【发布时间】:2014-08-10 21:10:05
【问题描述】:

我需要从我的网页与外部网站进行交互。我想自动化在一个字段中输入文本并按下提交按钮,然后显示或获取结果的过程。

我尝试过使用 iframe 和 window.open 和 window.location.assign 等,但在每种情况下都会出现外部站点,但我无法访问其文档或与之交互。由于 XSS 浏览器限制,我得到“拒绝访问”。

在服务器端,我已经尝试使用 httpwebrequest 和客户端的所有其他可能性将 POST 方法发送到站点,但是外部网站在 URL 中没有查询参数,也没有向其 POST 的方法。我什至尝试过服务器端的 windows.forms.webbrowser 控件。

我认为这是一条死胡同,但有人有可能的解决方法或新的方法吗?

【问题讨论】:

    标签: javascript jquery asp.net


    【解决方案1】:

    可能是外部站点在其表单上使用原始 java 脚本来收集数据并将其提交到服务器,在这种情况下,以任何形式发布到页面的数量都不允许您自动提交。如果该页面使用 java-script,则可能您可以 iframe 它并通过 java-script 与之交谈,但如果没有站点所有者的帮助,可能无法正常工作。如果我们能有页面查询的 URL 会很有帮助

    【讨论】:

    • 我认为你是绝对正确的。这是一个跟踪货物的公共站点:shipmentlink.com/servlet/TDB1_CargoTracking.do 它要求您输入提单#,然后按提交。然后你会得到另一个页面,其中有一个特定容器的链接。这将引导您进入我的目标跟踪页面。但是在例如 www.google.com 上也是一样的,输入搜索词然后按 Search Google。您可以通过谷歌查询中的参数来做到这一点,但不能在上面的网站上。已经联系过他们,他们说“这是个好主意”。
    • 好的。因此,您可以将页面加载到 iframe 中,如果您愿意,可以将其隐藏。并使用 window.iframe.document.getElementsByid 访问表单元素和按钮
    • 不起作用。在调试器中,window.iframe.document.getElementsByTagName('input') 向我显示了我的网页上的元素,而不是 iframe 的 src 页面。由于跨浏览器的安全性,window.iframe.contentWindow.document 显示“拒绝访问”。这就是问题所在。
    • 我认为这个问题应该被关闭,因为有问题的网站破坏了跨浏览器的安全性,无法提供解决方案,但我认为提供的解决方案很好。
    猜你喜欢
    • 2018-12-29
    • 1970-01-01
    • 2018-07-10
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2015-06-09
    相关资源
    最近更新 更多