2016-11-04 8 views
0

私はlibcurl(C++プログラムにリンクされている)を初めて使用しようとしており、初心者レベルのヘルプが必要です。私はまた、HTTP/HTMLなどにほとんど慣れていないので、私の用語がそれを信じていれば私を許してください。私は、次の実行した場合、実行可能curlを使用してlibCurl APIを使用した初心者レベルのガイダンスのリクエスト

...

curl -k -u user:password https://confluence/pages/viewpage.action?pageId=42 

...私は、ウェブページの合法的な内容をどのように見えるかを取得します。

libcurlを使って私のC++プログラムから同じことをしたいと思います。

私はhttps://curl.haxx.se/libcurl/c/simple.htmlに掲載の基本的な例の最小限の変更を開始しました:出力の

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

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

    curl = curl_easy_init(); 
    if(curl) 
    { 
    curl_easy_setopt(curl, CURLOPT_URL, "https://confluence/pages/viewpage.action?pageId=42"); 

    res = curl_easy_perform(curl); 

    if(CURLE_OK == res) { std::cout << "curl success" << std::endl; } 
    else { std::cout << "curl failure" << std::endl; } 

    curl_easy_cleanup(curl); 
    } 
    return 0; 
} 

このコードの結果:

curl failure 

誰もが、私はプログラム的に行うことができますどのように私を導くことができます以前はカールの実行ファイルで何をしましたか?私のサンプルコードには、ユーザー名とパスワードがないという明白な欠点があるので、適切な方向へのガイダンスはありがたいです。ありがとうございました。

更新

-kせずにコマンドを実行するとカールによって返されていないWebページのコンテンツになったので、カール実行可能ファイルを実行するとき、私は-kオプションを使用した理由でした。私はちょうどヘルプテキストに基づいて-kを追加しようとしたと働いて観察されます。私の理解が不足し、説明する能力がありがとうございます。回答者がこれらの話題に触れることができれば、私が理解できるように、感謝しています。

Updateおよび閉鎖

私は私の一部に少し多くの努力なしにStackOverflowになっていることを少し恥ずかしい - この貧しい質問のためのコミュニティへの謝罪。

肘グリースのちょうどビットから(安全でない)ソリューションは、次のとおりです。

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

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

    curl = curl_easy_init(); 
    if(curl) 
    { 
    curl_easy_setopt(curl, CURLOPT_URL, "https://confluence/pages/viewpage.action?pageId=42"); 

    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); 

    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); 

    res = curl_easy_perform(curl); 

    if(CURLE_OK == res) { std::cout << "curl success" << std::endl; } 
    else { std::cout << "curl failure" << std::endl; } 

    curl_easy_cleanup(curl); 
    } 
    return 0; 
} 
+0

* hackathonの状況*とは? –

+0

「私は現在ハッカソンにいる」と同じです。読者が回答を決定するのに役立つ場合は、元の投稿を編集します。 – StoneThrow

+0

C++は本当にこれらの種類の言語では最高の言語ではありませんが、それほど寛大ではありませんが、もしあなたが決定したら、[ドキュメンテーションのパスワードに関するセクション](https://curl.haxx.se/libcurl /c/libcurl-tutorial.html)。 – tadman

答えて

1

あなたは安全なウェブサイトにアクセスしようとしているあなたは、セキュアソケット(443)プロトコルを使用しない限り、それは動作しません。 。

CURLOPT_USE_SSLを使用してみてください。

curl_easy_setopt(curl, CURLOPT_USE_SSL, "https://confluence/pages/viewpage.action?pageId=42"); 
+0

それはどちらもうまくいかなかったが、大丈夫だった。私はいくつかの宿題があると思いますが、これはStackOverflowにとって最も適切な質問ではないかもしれません。しかし、助けてくれてありがとう。 – StoneThrow

関連する問題