OpenIDログインをC++サーバーに実装することに決めました。私は使用可能なC++ OpenIDクライアントの一覧を見て、人気のあるものはlibopkele
です。しかし、その要件は、独自のXMLパーサを持っている私の単純なサーバではかなりのように見えますが、正規表現のためにブーストを使うなどです。CURLを使用してそのようなPHPコードをC/C++に翻訳する方法は?
C++で単純なopenIDクライアントを作成したいので、PHPクライアントを移植することにしました(私はPHPaビットを知っているので)。 class.openid.php
と呼ばれるクラスがあります。最初のバージョンはわずか200行のPHPコードです。私の主な問題は、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からC++(libcurlのを使用して)このような機能を変換する方法は?
私はいくつかのPHP openIDライブラリの完全な翻訳を見たいと思います!例えば600行のPHPコード(1クラス)[lightopenid](http://code.google.com/p/lightopenid/)のようなものです。しかし、誰も私のためにそれをやったことはない...私は自分で試すことができます。私の小さなクロスプラットフォームのサーバでopenID認証だけに小さなlibopkeleを使用するのではないかと私は思っています。 – Rella