2011-07-17 7 views
1

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のを使用して)このような機能を変換する方法は?

+0

私はいくつかのPHP openIDライブラリの完全な翻訳を見たいと思います!例えば600行のPHPコード(1クラス)[lightopenid](http://code.google.com/p/lightopenid/)のようなものです。しかし、誰も私のためにそれをやったことはない...私は自分で試すことができます。私の小さなクロスプラットフォームのサーバでopenID認証だけに小さなlibopkeleを使用するのではないかと私は思っています。 – Rella

答えて

5

cURLにはC API:linkがあります。これはC++でも使えます。

cURL APIを使用するときに指定した関数を書き直すのは難しくありません。

+0

FAQで説明されているように、これはなぜならcURLという名前の理由ではありません... –

関連する問題