找回密码
 立即注册
查看: 3575|回复: 0

Curl:设置代理的地址

[复制链接]
发表于 2016-3-15 23:32:22 | 显示全部楼层 |阅读模式
本教程演示了如何管理的代理地址HTTP和HTTPS请求并将请求。 Tizen支持开源的 libcurl图书馆通过Curl API。
热身
熟悉旋度API通过学习基本知识:
初始化旋度


  • 初始化使用Curl:

    • 使用功能和数据类型的API(在旋度 移动可穿戴应用程序),包括 < curl.h > 头文件在您的应用程序。 您还必须添加 < net_connection.h > 头文件的代理地址。
      1. #include <curl.h>
      2. #include <net_connection.h>
      复制代码
    • 为上网,使用Curl API添加 http : / /tizen.org/privilege/internet 特权应用程序的清单文件。
    • 初始化使用Curl库和旋度处理 curl_easy_init () 功能:
      1. CURL *curl;
      2. CURLcode curl_err;
      3. curl = curl_easy_init();
      复制代码

    • 通过调用创建并初始化一个连接句柄 connection_create () 功能:
      1. connection_h connection;
      2. int conn_err;
      3. conn_err = connection_create(&connection);
      4. if (conn_err != CONNECTION_ERROR_NONE)
      5. {
      6.    // Error handling

      7.    return;
      8. }
      复制代码

    • 当不再需要时,清晰的旋度和连接句柄完成HTTP事务:
      1. curl_easy_cleanup(curl);
      2. connection_unset_proxy_address_changed_cb(connection);
      3. connection_destroy(connection);
      复制代码

    管理代理地址
    有两种方法用于获取和设置代理地址:
    • 直接代理的地址,使用 connection_get_proxy () 的函数(在连接管理器API 移动可穿戴应用程序):
      1. char *proxy_address;
      2. conn_err = connection_get_proxy(connection, CONNECTION_ADDRESS_FAMILY_IPV4, &proxy_address);
      复制代码

    • 设置代理地址,使用 curl_easy_setopt () 函数与 CURLOPT_PROXY 参数:
      1. if (conn_err == CONNECTION_ERROR_NONE && proxy_address)
      2. {
      3.    curl_easy_setopt(curl, CURLOPT_PROXY, proxy_address);
      4. }
      复制代码

    • 通知只要代理地址发生变化,注册一个回调的 connection_set_proxy_address_changed_cb () 连接管理器API的函数:
      1. conn_err = connection_set_proxy_address_changed_cb(connection,
      2.                                                    __proxy_address_changed_cb, NULL);
      3. if (conn_err != CONNECTION_ERROR_NONE)
      4. {
      5.    // Error handling

      6.    return;
      7. }
      复制代码

      新代理的地址是通过回调参数。 设置代理地址,使用 curl_easy_setopt () 函数与 CURLOPT_PROXY 参数:
      1. static void
      2. __proxy_address_changed_cb(const char *ipv4_address,
      3.                            const char *ipv6_address, void *user_data)
      4. {
      5.    curl_easy_setopt(curl, CURLOPT_PROXY, ipv4_address);
      6. }
      复制代码

    将HTTP请求
    将HTTP请求,设置的URL curl_easy_setop () 函数和开始转移 curl_easy_perform () 功能:
    1. curl_easy_setopt(curl, CURLOPT_URL, "https://www.tizen.org/");
    2. curl_err = curl_easy_perform(curl);
    3. if (curl_err != CURLE_OK)
    4. {
    5.    // Error handling
    6. }
    复制代码
欢迎来到泰泽网:http://www.tizennet.com/ 泰泽论坛:http://bbs.tizennet.com/ 好没有内涵哦,快到设置中更改这个无聊的签名吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|泰泽应用|泰泽论坛|泰泽网|小黑屋|Archiver|手机版|泰泽邮箱|泰泽网 ( 蜀ICP备13024062号-1 )

GMT+8, 2024-4-20 16:56 , Processed in 0.056811 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表