与网站C++互动

Loc*_*ead 6 c++

如何与C++中的网站进行交互?

例如,一个网站有一个保管箱,文本区域和一个按钮,我希望我的程序在文本区域内填充文本,从保管箱中选择一个选项,并使按钮触发其事件("点击"它).

我怎样才能实现这样的目标?

谢谢!

Mar*_*ork 4

首先您必须了解服务器上没有文本框或按钮。

这些是由浏览器构建并显示给您的结构。

然后,浏览器会将用户输入输入到文本框中,并解释对按钮的点击。单击按钮时(通常)会发生的情况是浏览器向服务器发送 HTML“POST”请求。浏览器根据用户在 UI 中所做的操作构建 post 请求。

例子:

服务器发送到浏览器:

<html>
    <head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><title>TestDoc</title></head>
    <body>
        <form action="http://website.com/form.html" method="post">
        <div>
            <textarea name="userinfo" rows="2" cols="30">Some Text</textarea>
            <input type="submit">
        </div>
        </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

您的浏览器会对此进行解释并显示一个文本框和提交按钮。当您按下提交按钮时,浏览器会构建一个 HTTP post 命令,并将其发送回浏览器。它连接到网站http://website.com/form.html(请参阅上面代码片段中的表单标记)并发送文本区域的内容(用值标记userinfo)。

您可以手动执行相同的操作。
但是您需要了解网站期望的值,并根据网站期望的值构建适当的命令。为此,最简单的方法是使用libCurl。该包的文档详细解释了如何构建发布请求。

这是一个帖子示例