【发布时间】:2010-12-13 19:53:10
【问题描述】:
我需要在 LIBCURL (curl.haxx.se/libcurl) (C++) 中找到简单的 TELNET 示例 我搜索了这个网站,但我没有找到任何简单的例子。 我只需要连接到 TELNET、验证和发送消息。
谢谢
【问题讨论】:
-
嘿,有很多例子,但它们是隐藏的:D curl.haxx.se/libcurl/c/fileupload.html 就是其中之一。右侧是所有示例的列表。
我需要在 LIBCURL (curl.haxx.se/libcurl) (C++) 中找到简单的 TELNET 示例 我搜索了这个网站,但我没有找到任何简单的例子。 我只需要连接到 TELNET、验证和发送消息。
谢谢
【问题讨论】:
您在 libcurl 中所能做的就是发送数据和接收数据。没有办法等待响应或根据响应发送数据。 libcurl 的全部意义在于处理等待 HTTP 或 FTP 的数据和响应。
话虽如此,您也许可以使用CURLOPT_READFUNCTION 和CURL_READFUNC_PAUSE 做一些事情。从READFUNCTION 返回PAUSE,然后当您在READFUNCTION 中看到“登录:”时调用curl_easy_pause(CURLPAUSE_CONT)。准备好在被调用时从READFUNCTION 返回您的用户名。
我从来没有这样做过,所以我不能保证它是如何工作的。但从 API 描述来看,这似乎是要走的路……
【讨论】:
注意:telnet 协议没有指定使用指定用户和密码登录的任何方式,因此 curl 无法自动执行此操作。为此,您需要跟踪收到登录提示的时间并相应地发送用户名和密码。
你可以看这里:http://www.cs.sunysb.edu/documentation/curl/index.html
也许你应该像这样手动制作:
system("curl telnet://192.168.2.1");
稍后它会询问您的用户名和密码。
【讨论】: