请求示例代码

C++ 使用 HTTP/Socks5 代理(带账号密码)

HTTP 代理 + 账号密码(完整示例)

#include <curl/curl.h>
#include <iostream>
static size_t write_cb(void* ptr, size_t size, size_t nmemb, void* userdata) {
    std::string* resp = (std::string*)userdata;
    resp->append((char*)ptr, size * nmemb);
    return size * nmemb;
}
int main() {
    CURL* curl = curl_easy_init();
    if (!curl) return -1;
    std::string response;
    curl_easy_setopt(curl, CURLOPT_URL, "https://httpbin.org/ip");
    // HTTP 代理
    curl_easy_setopt(curl, CURLOPT_PROXY, "http://127.0.0.1:8080");
    // 代理账号密码
    curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, "user");
    curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, "pass");
    // 自动识别 HTTP / HTTPS
    curl_easy_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_cb);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
    curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10L);
    curl_easy_setopt(curl, CURLOPT_TIMEOUT, 15L);
    CURLcode res = curl_easy_perform(curl);
    if (res != CURLE_OK) {
        std::cerr << curl_easy_strerror(res) << std::endl;
    } else {
        std::cout << response << std::endl;
    }
    curl_easy_cleanup(curl);
    return 0;
}

SOCKS5 代理 + 账号密码(完整示例)

Go 使用 HTTP/Socks5 代理(带账号密码)

方式一:net/http(最常用)

方式二:golang.org/x/net/proxy

Java 使用 HTTP/Socks5 代理(带账号密码)

HTTP 代理 + 账号密码

SOCKS5 + 账号密码

Pyhton 使用HTTP/Socks5 代理(带账号密码)

HTTP 代理 + 账号密码

SOCKS5 代理 + 账号密码

Node.js 使用HTTP/Socks5 代理(带账号密码)

HTTP 代理 + 账号密码 推荐库

SOCKS5 代理 + 账号密码 推荐库

最后更新于