请求示例代码
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 代理 + 账号密码 推荐库
最后更新于