פּראָקסי־אויטענטיפֿיקאַציע האָט אייגענע cURL־אָפּציעס. CURLOPT_USERPWD פֿאַר אַ וועבזײַט־לאָגין קאָנפֿיגורירט נישט דעם פּראָקסי־קאָנטאָ, און CURLOPT_HTTPAUTH קלײַבט נישט די פּראָקסי־אויטענטיפֿיקאַציע־מעטאָדע.

<?php
$user = 'proxy-user';
$password = getenv('PROXY_PASSWORD');
if ($password === false) {
    throw new RuntimeException('Set PROXY_PASSWORD');
}

$ch = curl_init('https://example.com/');
curl_setopt_array($ch, [
    CURLOPT_PROXY => 'http://203.0.113.10:8080',
    CURLOPT_NOPROXY => '',
    CURLOPT_PROXYUSERPWD =>
        rawurlencode($user) . ':' . rawurlencode($password),
    CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 5,
    CURLOPT_TIMEOUT => 15,
]);

$body = curl_exec($ch);
if ($body === false) {
    throw new RuntimeException(curl_error($ch), curl_errno($ch));
}
echo curl_getinfo($ch, CURLINFO_RESPONSE_CODE), PHP_EOL;

פֿאַרבײַט די דאָקומענטאַציע־IP און ניץ די דאַטן געגעבן פֿאַר יענעם פּראָקסי. Basic איז דאָ בכּיוון אויסגעקליבן; ניץ די געשטיצטע און דערלויבטע מעטאָדע פֿאַר דײַן דינסט, נישט אָנטאָן אַז יעדער ענדפּונקט דאַרף זי.

דאָס קאָמבינירטע פֿעלד האָט אַ קאָדירונגסרעגל

libcurl דאָקומענטירט אַז CURLOPT_PROXYUSERPWD URL־דעקאָדירט דעם באַניצערנאָמען און פּאַראָל. דער בײַשפּיל קאָדירט יעדן טייל איידער מע פֿאַראייניקט זיי מיטן צעשיידונגסצייכן. דאָס איז וויכטיק ווען אַ ליטעראַלע פּראָצענט־סעקווענץ אָדער אַן אַנדער ספּעציעלער צייכן געהערט צו די דאַטן.

די באַזונדערע פּראָקסי־באַניצערנאָמען־ און פּאַראָל־אָפּציעס נעמען זייערע ווערטן דירעקט:

curl_setopt($ch, CURLOPT_PROXYUSERNAME, $user);
curl_setopt($ch, CURLOPT_PROXYPASSWORD, $password);

ניץ זיי ווי אַן אַלטערנאַטיווע דאַטן־פֿאָרעם פֿאַרן דורכפֿירן די בקשה. לייג נישט אויטאָמאַטיש די דעקאָדירונגסרעגל פֿונעם קאָמבינירטן פּראָקסי־פֿעלד אויף CURLOPT_USERPWD; libcurl דאָקומענטירט אַ חילוק.

האַלט די אויטענטיפֿיקאַציע־שטאַפּלען באַזונדער

CURLOPT_PROXYAUTH קלײַבט פּראָקסי־אויטענטיפֿיקאַציע, אָבער CURLOPT_HTTPAUTH HTTP־אויטענטיפֿיקאַציע מיטן ציל. אויב ביידע דאַרפֿן לאָגין, שטעל די פּאַסיקע אָפּציעס פֿאַר יעדן אַנשטאָט די זעלבע דאַטן אין ביידע ערטער צו קאָפּירן.

CURLAUTH_ANY דערלויבט פֿאַרהאַנדלונג און קען צולייגן אַן אַרויספֿאָדערונג־ענטפֿער־אויסטויש פֿאַרן אויסקלײַבן אַ מעטאָדע. דאָס באַווײַזט נישט ריכטיקע דאַטן. אַ צוגעגעבענער מאַנועלער Proxy-Authorization־קאָפּ קען שטערן דער ביבליאָטעקס אויטענטיפֿיקאַציע־באַהאַנדלונג.

Basic־דאַטן אויף אַ קלאָרטעקסט־פֿאַרבינדונג צום פּראָקסי ווערן נישט באַשיצט דורכן שפּעטערדיקן TLS־טונעל פֿון דער וועבזײַט. קאָנטראָליר יענעם טראַנספּאָרט באַזונדער בײַם קלײַבן ווי צו ניצן אַן אויטענטיפֿיצירטן דינסט.

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