91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IBM AIX5.3 linux下C/C++實現HTTPS接口

發布時間:2020-07-23 06:49:51 來源:網絡 閱讀:861 作者:nbaluoshibin 欄目:編程語言

 最近在工作中需要開發一個Https接口,其不同于http、soap等協議,可以直接組織報文并發送,不存在加密,認證和獲取密鑰等安全操作。且之前開發的項目沒有開發過這類接口,所以當時壓力很大。    

    通過網上查閱資料,要實現https接口,必須現在本機上安裝openssl和curl(說明:只用opessl也可以實現https,目前我是使用openssl和curl)。

    在安裝openssl和curl過程中吃了不少苦頭,因為服務器是IBM AIX5.3,服務器很久沒升級打補丁很多軟件安裝都不能順利進行,可以說是高不成低不就。嘗試很多發布版本的安裝,結果都不盡人意,在快要絕望時,在http://blog.sina.com.cn/s/blog_541a3cf101017869.html網站上看到了希望,在IBM AIX5.3下安裝OpenSSL 0.9.8m可以成功,之前安裝的是OpenSSL 0.9.8a失敗(報Trace/BPT trap(coredump)錯誤)。

    下面說明下openssl和curl的安裝步驟說明:

  1. openssl安裝步驟

    gunzip opensll-0.9.8m.tar.gz

    tar xvfopensll-0.9.8m.tar

    ./config --prefix=自定義安裝路徑

    make

    make install

  1. curl安裝步驟

    gunzip curl-7.24.0.tar.gz

    tar xvf curl-7.24.0.tar

    ./configure --with-ssl=openssl的安裝路徑 --prefix=自定義curl安裝路徑

    make

    make install

 

一下給出https客戶端接口代碼:

long CHomeAnFangIt::Post(const std::string& url,const std::string& putObject, std::string& rsp)
{

    CURL* curl=curl_easy_init();
    if(!curl)
    {
        logger->info("Init curl error.");
        return -1;
    }

    curl_easy_setopt(curl, CURLOPT_TIMEOUT, 120);
    curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
    curl_easy_setopt(curl, CURLOPT_POST, true); // POST
    curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,s_UrlWrite);
    curl_easy_setopt( curl , CURLOPT_POSTFIELDS, putObject.c_str());
    curl_easy_setopt( curl , CURLOPT_POSTFIELDSIZE, putObject.size());
    curl_easy_setopt(curl,CURLOPT_WRITEDATA,&rsp);
    curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
    curl_easy_setopt(curl, CURLOPT_USE_SSL, 1);
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);

    CURLcode c=curl_easy_perform(curl);
    if(c!=CURLE_OK)
    {
        logger->info("curl_easy_perform error,err=%d",c);
        curl_easy_cleanup(curl);
        return -1;
    }

    long rsp_code=0;
    curl_easy_getinfo(curl,CURLINFO_RESPONSE_CODE,&rsp_code);

    curl_easy_cleanup(curl);
    return rsp_code;
}

 

總結:

    對新知識的上手速度不夠,當遇到一個難題陷入瓶頸時,想到的是退縮,認為此問題無法解決。這樣的思維是不好的。要利用目前所有信息,不斷的搜索查詢,總會有奇跡出現,勝利總會眷顧永不放棄的人。

    當一個程序dump掉后,會在當前目錄下生成core文件,我們可以使用gdb單步調式查看core發生錯誤的位置,把調用函數全稱搜索并獲取信息解決問題。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灵宝市| 胶州市| 尉氏县| 丽江市| 资源县| 得荣县| 平阳县| 轮台县| 宜章县| 广昌县| 正宁县| 济宁市| 利辛县| 潼关县| 密山市| 永登县| 阳曲县| 南阳市| 紫金县| 浑源县| 鄢陵县| 平山县| 宁国市| 明水县| 崇阳县| 祁阳县| 大丰市| 牡丹江市| 寿宁县| 阿城市| 天祝| 东阳市| 湖口县| 宣化县| 新宾| 南川市| 方城县| 洪洞县| 涪陵区| 乳山市| 墨脱县|