0

我有一个在 Web 服务器中运行的 php 脚本,以便对数据库执行一些插入操作。该脚本接收一些加密数据,对其进行解密并将其推送到数据库中。

负责发送此数据的是一个 C++ 程序(在 Linux 中运行),该程序将每 5 秒发送一条不超过 40 个字符的消息。

我正在考虑调用一些 bash 脚本来打开 URL(http://myserver.com/myscript.php?message=adfafdadfasfasdfasdf)并通过参数接收消息。

我不想要一个复杂的解决方案,因为我只需要打开 URL,它是一个单向的沟通渠道。

一些简单的解决方案来做到这一点?

谢谢!

4

2 回答 2

3

一个更强大的解决方案是使用libcurl,它可以让您在几行中打开一个 http 连接。这是链接中的自包含示例:

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
    /* example.com is redirected, so we tell libcurl to follow redirection */ 
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);

    /* Perform the request, res will get the return code */ 
    res = curl_easy_perform(curl);
    /* Check for errors */ 
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  return 0;
}
于 2013-02-14T17:11:21.293 回答
1

由于您不需要解析 HTTP 查询的结果,因此您可以使用system调用像wget这样的标准实用程序。

int retVal = system("wget -O- -q http://whatever.com/foo/bar");
// handle return value as per the system man page

这和你想的基本一样,保存脚本间接。

于 2013-02-14T17:59:46.237 回答