mysql - 将 MySQL 查询发送到我从另一个站点拥有的站点(使用 Google Chrome 扩展)

标签 mysql screen-scraping cross-domain google-chrome-extension

我想编写一个 Google Chrome 扩展程序,它可以从不属于我的网站 (www.notmysite.com) 获取信息,将该信息发送到我拥有的网站 (www.mysite.com),然后执行以下操作某种 MySQL 查询,其中包含我网站上的信息。

例如,我希望能够获取一些从 www.notmysite.com 上的 HTML 解析出来的 javascript 变量,并将其插入到 www.mysite.com 上的 MySQL 数据库中。我可以毫无问题地将 XMLHttpRequests 从一个 www.notmysite.com 页面发送到另一个页面,但当我尝试连接到 www.mysite.com 时遇到跨域脚本限制。

有办法解决这个问题吗?看来应该有,因为我拥有 www.mysite.com!

(这本质上是一个屏幕抓取问题。我想将屏幕抓取直接发送到数据库。)

最佳答案

您可以使用称为“脚本标记注入(inject)”的技术来解决跨域限制。也就是说,您可以操作文档来插入带有指向场外域的“src”属性的 <script> 标记,以及您希望传递的任何查询字符串参数。

<script src="http://www.mysite.com/someScript?param=value"></script>

当您将上面所示的 a 标记插入到文档中时,浏览器将访问该 URL 来检索其中可能存在的任何内容;您可以利用“someScript”中的机会保存传递的值,或者您想做的任何其他事情。

幸运的是,您不是第一个遇到此问题的人,并且大部分艰苦的工作已经完成。看看 jQuery 的 $.ajax()方法,它内置支持 JSONP 。这将使您能够轻松利用该技术。

关于mysql - 将 MySQL 查询发送到我从另一个站点拥有的站点(使用 Google Chrome 扩展),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4666886/

相关文章:

mysql - 根据其他字段的内容生成唯一的 MySQL 字段

asp.net - 使用 Python 和 urllib2 抓取 ASP.NET

javascript - 在 JavaScript 中提取给定 xpath 的数据/值

javascript - 跨域请求本地文件

java - 如何从嵌入式软件开发过渡到Web开发?

php - 如何删除sql表中的特定行?

android - 哪种持久存储设置更有效

python - 问题爬取亚马逊,元素无法滚动到 View 中

javascript - 确定启动全屏 iframe 小部件?比。嵌入式?

coldfusion - 谷歌跨域认证