繁体   English   中英

如何使用 CURL 将此类 PHP 代码翻译成 C/C++?

[英]How to translate such PHP code using CURL into C/C++?

我决定在我的 C++ 服务器中实现 OpenID 登录。 我查看了可用的 C++ OpenID 客户端列表,发现只有一个流行的libopkele 但是对于我的简单服务器来说,它的要求似乎相当多,它有自己的 xml 解析器,对正则表达式使用 boost 等等。

所以我想在 C++ 中创建简单的 openID 客户端,所以我决定移植 PHPclient(因为我对 PHPa 有点了解)。 有一个名为class.openid.php的 class.openid.php 在它的第一个版本中只有 200 行 Z2FEC392304A5C2237843 代码。 我的主要问题是我之前从未在 PHP 和 c++ 中使用过 curl。 所以我请求帮助翻译成 C/C++ 这样的 PHP 代码:

function CURL_Request($url, $method="GET", $params = "") { // Remember, SSL MUST BE SUPPORTED
        if (is_array($params)) $params = $this->array2url($params);
        $curl = curl_init($url . ($method == "GET" && $params != "" ? "?" . $params : ""));
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($curl, CURLOPT_HEADER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_HTTPGET, ($method == "GET"));
        curl_setopt($curl, CURLOPT_POST, ($method == "POST"));
        if ($method == "POST") curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        $response = curl_exec($curl);

        if (curl_errno($curl) == 0){
            $response;
        }else{
            $this->ErrorStore('OPENID_CURL', curl_error($curl));
        }
        return $response;
}

所以..如何从 PHP 将这样的 function 转换为 C++(使用 libCURL)?

cURL 有一个 C API:链接 您也可以从 C++ 使用它。

改写你使用cURL API时给的function应该不难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM