分享页面

C语言代码示例

发布时间:2022-06-21 09:15
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <cstring>
  4. #include "curl/curl.h"
  5. using namespace std;
  6. static size_t WriteMemoryCallback(void* ptr, size_t size, size_t nmemb, void* stream) {
  7. size_t nsize = size * nmemb;
  8. string* strdata = (string*)stream;
  9. if (strdata)
  10. strdata->append((const char*)ptr, nsize);
  11. return nsize;
  12. }
  13. void Proxy(string& resp) {
  14. CURL* curl = curl_easy_init();
  15. CURLcode res;
  16. if (curl) {
  17. curl_easy_setopt(curl, CURLOPT_URL, "https://test.ipw.cn");
  18. // 如果上面目标站不可用,请使用ip.sb、ipinfo.io、ip-api.com、64.ipcheck.ing
  19. curl_easy_setopt(curl, CURLOPT_PROXY, "http://代理IP:端口号");
  20. curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "请改成您的Key:请改成您的AuthPwd");
  21. curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
  22. curl_easy_setopt(curl, CURLOPT_WRITEDATA, &resp);
  23. res = curl_easy_perform(curl);
  24. curl_easy_cleanup(curl);
  25. if (res != CURLE_OK) {
  26. fprintf(stderr, "request failed: %s\n", curl_easy_strerror(res));
  27. }
  28. }
  29. }
  30. int main() {
  31. string response;
  32. Proxy(response);
  33. cout << response << endl;
  34. return 0;
  35. }
本文导读