C++ 爬虫代理示例
代码示例说明
- 代码样例不能直接运行,请替换成您自己的代理信息。
- 在不同编程语言的代码示例中,需注意其环境版本。
- 示例代码使用遇到问题请联系,我们会为您提供技术支持。
libcurl
1#include <string>2#include <curl/curl.h>3#include <iostream>45static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp)6{7((std::string*)userp)->append((char*)contents, size * nmemb);8return size * nmemb;9}10int main(void)11{1213CURL* curl;14CURLcode res;15std::string readBuffer;16curl = curl_easy_init();17if (curl) {1819curl_easy_setopt(curl, CURLOPT_URL, "https://httpbin.org/ip");20curl_easy_setopt(curl, CURLOPT_PROXY, "http://t.16yun.cn:31111");21curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "username:password");22curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);23curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);24/* Perform the request, res will get the return code */25res = curl_easy_perform(curl);26if(res != CURLE_OK){27fprintf(stderr, "curl_easy_perform() failed: %s\n",curl_easy_strerror(res));28}2930/* always cleanup */31curl_easy_cleanup(curl);3233std::cout << readBuffer << std::endl;34}35return 0;36}