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-פּראָקסי-ליסטע קען צושטעלן די אַדרעס פֿאַר דעם עפֿנטלעכן-זײַטל פּרובירן. ניצט איר טאַקע scheme און פּאָרט, און פּרובירט צי זי ערלויבט דעם HTTPS-טונעל.

אַ HTTPS-ציל קען ניצן אַן HTTP-פּראָקסי. libcurl פֿירט דעם טונעל פֿאַר יענער HTTPS-איבערפֿירונג. דער http:// אין דער פּראָקסי-אָפּציע באַשרײַבט די פֿאַרבינדונג צום מיטל. ענדערט אים צו https:// נאָר פֿאַר אַ פּראָקסי-ענדפּונקט וואָס נעמט טאַקע אָן TLS און אַ libcurl-בויאַונג וואָס שטיצט דאָס.

מאַכט דעם עפֿעקטיוון וועג באַוואוסטזיניק

אַן עקספּליציטע פּראָקסי-אָפּציע איבערשטײַגט די פּאַסיקע פּראָקסי-סבֿיבֿה-איינשטעלונג. אַרומגיין איז אַ באַזונדער באַשלוס: אַ געירשנטער 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-אַרויסרופֿונג פֿון פּראָקסי באַזונדער פֿון דעם ציל-סטאַטוס.

פֿאַרבונדענע אַרטיקלען