libcurl прокси тохиргоог дамжуулалт гүйцэтгэж буй easy handle-д хавсаргана. Зуучлагчийн хаягийг тухайн handle дээр тогтоож, CURLOPT_URL-ийг зорилтот URL хэвээр үлдээнэ.

Дараах хэсэг нь libcurl эхлүүлэгдсэн бөгөөд handle хүчинтэй easy handle гэж үзнэ:

char error[CURL_ERROR_SIZE] = {0};
CURLcode result;

result = curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, error);
if (result == CURLE_OK)
    result = curl_easy_setopt(handle, CURLOPT_URL,
                              "https://example.com/");
if (result == CURLE_OK)
    result = curl_easy_setopt(handle, CURLOPT_PROXY,
                              "http://proxy.example:8080");
if (result == CURLE_OK)
    result = curl_easy_perform(handle);

if (result != CURLE_OK)
    fprintf(stderr, "%s\n", error[0] ? error
                                  : curl_easy_strerror(result));

handle түүн рүү зааж байх хугацаанд алдааны буферыг амьд байлгана. Хамрах хүрээнээс гарахын өмнө handle-ийг цэвэрлэх эсвэл түүний CURLOPT_ERRORBUFFER заагчийг солих буюу арилгана. Прокси хостын нэр нь орлуулагч юм; HTTP прокси жагсаалтаас баталгаажаагүй нэр дэвшигч энэ нийтийн сайтын туршилтад хаягийг өгч болно. Түүний бодит схем, портыг ашиглаж, HTTPS хонгилыг зөвшөөрч байгаа эсэхийг шалгана.

HTTPS зорилго HTTP прокси ашиглаж болно. libcurl тэр HTTPS дамжуулалтын хонгилыг удирддаг. Прокси опшны http:// нь зуучлагчтай холбогдохыг тодорхойлно. Үүнийг зөвхөн TLS-ийг үнэхээр хүлээн авдаг прокси төгсгөлийн цэг болон түүнийг дэмждэг libcurl бүтээцэд https:// болгож өөрчилнө.

Үр дүнтэй замыг санаатай болго

Тодорхой прокси опш нь харгалзах прокси орчны тохиргоог дарж бичнэ. Тойрч гарах нь тусдаа шийдвэр юм: өвлөгдсөн no_proxy зорилгыг орхиж болно. Энэ handle-д өгөгдсөн зорилго бүрт сонгосон проксиг ашиглах ёстой бол тухайн бодлогын хэсэг болгон CURLOPT_NOPROXY-ийг хоосон мөрөөр тохируулна.

Харин CURLOPT_PROXY-ийг хоосон мөрөнд тохируулах нь прокси ашиглалтыг тодорхой хориглоно. NULL-д тохируулах нь тодорхой оноолтыг арилгаж, орчин суурьтай зан төлөвийг дахин зөвшөөрнө. Эдгээр хоёр утга өөр өөр зорилгод үйлчилнэ.

Content-Type: text/xml зэрэг зорилгод тохирсон толгой нь проксиг сонгохгүй. Бодит хүсэлтийн агуулга болон зорилтот API-д тухайн медиа төрөл шаардлагатай үед л нэмнэ.

HTTP үр дүнг бас уншина

Амжилттай curl_easy_perform нь вебсайт амжилттай HTTP төлөв буцаасан гэсэн үг биш. CURLINFO_RESPONSE_CODE-ийг уншиж, аппликейшны төлөв боловсруулалтыг хэрэгжүүлнэ. Проксийн CONNECT хариулт өөрийн гэсэн утгатай, CURLINFO_HTTP_CONNECTCODE; хонгилын татгалзал нь вебсайтын аливаа хариултаас өмнө тохиолддог.

CURLOPT_FAILONERROR олон HTTP алдааг бүтэлгүйтэл гэж үзэж болох ч түүний баримт бичиг баталгаажуулалтын үл хамаарах зүйлсийг дурддаг. Проксийн 407 сорилтыг зорилтын төлөвөөс тусгаар байлгана.

Холбоотой нийтлэлүүд