【问题标题】:Is it possible access a CSS button via CURL/WGET?是否可以通过 CURL/WGET 访问 CSS 按钮?
【发布时间】:2014-10-08 20:35:12
【问题描述】:

我正在尝试通过 CURL/WGET 单击 CSS 按钮,但是到目前为止我没有运气。 CSS 按钮的确切链接位置是动态 URI - 例如:

domain.com/some/page?thing=1

当您通过 curl/wget 访问该页面时,它仍然不会触发操作。我需要以某种方式访问​​一个 CSS 选择器。我发现了这个:

http://codeception.com/docs/modules/PhpBrowser

但是,它需要安装额外的软件,这不是一个选项。我需要一些可以与 curl/wget 或示例 PHP 脚本一起使用的东西。我尝试向 wget 提供以下参数:

--header="selector: some-selector"

但是并没有达到预期的效果。

这里有一些来自评论的更多信息,以便更容易看到:

我得到了 HTTP 标头并尝试复制它们,但没有成功。它们太长了,所以我将示例标题上传到:

http://textuploader.com/oopa

谁能提供可用于实现上述目标的示例脚本/命令?

访问 url 不会触发该操作 - 它需要您单击一个按钮。我在之前的命令中提供了 HTTP 标头。这是检查时确切按钮的样子:

<div style="margin-bottom:15px;">

  <a style="display:block; width:350px" href="http://www.test.com/hos/6/42?game=1" id="game-one">
    <img src="http://www.test.com/images/thumbs_up.jpg" width="24" height="24" />
                           Sample Text
  </a>

</div>

所以基本上我需要以某种方式激活游戏选择器 - 通过脚本模拟对该按钮的单击。我上面提到的 PHPBrowser 似乎提供了这个功能,但是我无法安装它,因为它需要额外的软件,在这种情况下不是一个选项。

【问题讨论】:

  • http 中没有“按钮”。只有网址。 curl 最终必须准确地复制原始 html/js 代码正在执行的任何请求。
  • 我得到了 HTTP 标头并尝试复制它们,但没有成功。它们太长了,所以我将示例标题上传到:textuploader.com/oopa 任何人都可以提供可用于实现上述目标的示例脚本/命令吗?谢谢
  • click on a CSS button via CURL/WGET 是什么意思?这里和 CSS 有什么关系吗?我不这么认为。
  • “CSS 按钮”是什么意思?能否提供带有按钮的页面链接?
  • 正如其他人所说,您将需要使用 curl 或 wget 来“发布”按钮 url...您基本上是在伪造表单提交或操作,但您只能使用相关的 url 来完成行动。

标签: php css curl wget


【解决方案1】:

在您的问题下方的评论中,您为“CSS 按钮”提供了以下 HTML。

<a id="game-one" href="test.com/hos/6/42?game=1"; style="display:block; width:350px">

仅从这个锚点很难分辨,但看起来你有一个普通的链接。换句话说,点击这个按钮就是点击一个链接,也就是向test.com/hos/6/42?game=1发起一个HTTP GET请求并渲染一个页面。如果是这种情况,那么使用 curl 或 wget 请求 test.com/hos/6/42?game=1 可以有效地模仿按钮单击(假设 cookie 无关紧要)。

也可能有一些 Javascript 代码等待接收来自 id="game-one" 的点击事件,但如果不查看带有“CSS 按钮”的页面,我无法确定。但如果是这种情况,请考虑使用 Javascript 触发点击事件。请参阅How to simulate a click with JavaScript? 了解纯 Javascript 实现或Simulating Button click in javascript 了解 JQuery 实现。

【讨论】:

  • 不幸的是,访问链接并不能完成工作 - 不是通过网络浏览器,也不是通过 CURL - 它只是访问按钮所在的网页,但它不会触发按钮的行动..我无法提供确切的页面,因为它目前处于测试阶段并且不可公开访问 - 这就是为什么我只提供示例信息,但我认为如果上述信息可能的话,这些信息应该足够了.. . 我将更新我的原始回复,提供有关该按钮的更多信息。
  • 当你说“按钮的动作”时,你是说有一些 Javascript 代码在执行以响应点击事件吗?
【解决方案2】:

感谢大家的帮助。

我实际上能够解决这个问题 - 通过 CURL 是可能的。似乎有必要为上一页添加引用者集,因此为了访问动态 URI 并触发操作,我使用了以下 CURL:

curl --head --referer 'http://www.test.com/hos/6/42' http://www.test.com/hos/6/42?game=1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2020-10-14
    相关资源
    最近更新 更多