C/C++ 代理接入文档

学习如何使用C/C++的libcurl库接入718Proxy代理服务

代理配置信息

// 动态住宅代理 / 5G移动代理通用配置
const char *proxy_host = "resi.718proxy.com";
int proxy_port = 5001;
const char *proxy_username = "您的账号";
const char *proxy_password = "您的密码";

代码示例

C/C++
// 使用 libcurl 接入718Proxy代理
#include <stdio.h>
#include <curl/curl.h>

// 回调函数处理响应
size_t write_callback(void *contents, size_t size, size_t nmemb, void *userp) {
    size_t realsize = size * nmemb;
    printf("%.*s", (int)realsize, (char *)contents);
    return realsize;
}

int main(void) {
    CURL *curl;
    CURLcode res;
    
    // 代理配置
    const char *proxy_host = "resi.718proxy.com";
    int proxy_port = 5001;
    const char *proxy_username = "您的账号";
    const char *proxy_password = "您的密码";
    
    // 构建代理URL
    char proxy_url[256];
    snprintf(proxy_url, sizeof(proxy_url), 
             "http://%s:%s@%s:%d",
             proxy_username, proxy_password, proxy_host, proxy_port);
    
    // 初始化curl
    curl_global_init(CURL_GLOBAL_DEFAULT);
    curl = curl_easy_init();
    
    if(curl) {
        // 设置测试URL
        curl_easy_setopt(curl, CURLOPT_URL, "https://httpbin.org/ip");
        
        // 设置代理
        curl_easy_setopt(curl, CURLOPT_PROXY, proxy_url);
        
        // 设置User-Agent
        curl_easy_setopt(curl, CURLOPT_USERAGENT, 
                        "Mozilla/5.0 (Windows NT 10.0; Win64; x64)");
        
        // 设置回调函数
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
        
        // 设置超时
        curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L);
        
        // 执行请求
        res = curl_easy_perform(curl);
        
        // 检查错误
        if(res != CURLE_OK) {
            fprintf(stderr, "请求失败: %s\n", curl_easy_strerror(res));
        } else {
            long http_code = 0;
            curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_code);
            printf("\n状态码: %ld\n", http_code);
        }
        
        // 清理
        curl_easy_cleanup(curl);
    }
    
    curl_global_cleanup();
    return 0;
}