2011-07-17 5 views
1

OpenID 로그인을 C++ 서버에 구현하기로 결정했습니다. 사용 가능한 C++ OpenID 클라이언트 목록을 살펴본 결과 libopkele 중 하나만 발견되었습니다. 하지만 자사의 요구 사항은 XML 파서가있는 간단한 서버에 대해 상당히 많은 방법으로 보입니다. regexps 등을 위해 부스트를 사용합니다.CURL을 사용하여 C/C++로 PHP 코드를 변환하는 방법은 무엇입니까?

그래서 C++에서 간단한 openID 클라이언트를 만들고 싶습니다. 그래서 PHPclient를 포트하기로 결정했습니다 (PHPa 비트를 알고 있기 때문에). class.openid.php이라는 클래스가 있는데 첫 번째 버전은 단지 200 줄의 PHP 코드입니다. 내 주요 문제는 전에 PHP 나 C++에서 컬을 사용한 적이 없다는 것이다. 그래서 같은 PHP 코드 C/C++로 번역에 도움을 구걸 :

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; 
} 

그래서 .. 어떻게 C에 같은 기능을 번역 ++ PHP에서 (libcurl에 사용)?

+0

Ofcourse of some php openID library의 전체 translaion을보고 싶습니다. 예를 들어 600 줄의 PHP 코드 (한 클래스) [lightopenid] (http://code.google.com/p/lightopenid/). 그러나 아무도 나를 위해 해내 지 않은 사람을 생각 나게해라. .. ok 나는 독립해서 시험해 볼 수있다. 내 작은 크로스 플랫폼 서버에서 오픈 아이디 인증을 위해서만 작은 libopkele을 사용하지 않기 때문에 나에게 맞는 것 같지 않습니다. – Rella

답변

5

cURL의 C API는 link입니다. 당신도 C++에서 이것을 사용할 수 있습니다.

cURL API를 사용할 때 제공 한 기능을 다시 작성하는 것이 어렵지 않습니다.

+0

FAQ에 설명 된대로 그 이름이 cURL 인 이유는 아닙니다 ... –

관련 문제