Roghanna fíordheimhnithe proxy in PHP cURL
Socraigh dintiúir proxy leis na roghanna cURL cearta agus láimhseáil díchódú URL an réimse chomhcheangailte gan fíordheimhniú an chinn scríbe a athrú.
Tá a roghanna cURL féin ag fíordheimhniú proxy. Ní shocraíonn CURLOPT_USERPWD do logáil isteach ar shuíomh cuntas an tseachfhreastalaí, agus ní roghnaíonn CURLOPT_HTTPAUTH modh fíordheimhnithe an tseachfhreastalaí.
<?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;
Cuir fíor-IP in áit an IP doiciméadaithe agus úsáid na dintiúir a tugadh don proxy sin. Roghnaítear Basic d’aon ghnó anseo; úsáid modh tacaithe agus ceadaithe na seirbhíse in ionad a cheapadh go dteastaíonn sé ó gach críochphointe.
Tá riail ionchódaithe ag an réimse comhcheangailte
Deir libcurl go ndíchódaíonn CURLOPT_PROXYUSERPWD an t-ainm úsáideora agus an pasfhocal mar URL. Ionchódaíonn an sampla gach comhpháirt sula gceanglaítear leis an deighilteoir iad. Tá sé tábhachtach má bhaineann seicheamh céatadáin liteartha nó carachtar speisialta eile leis an dintiúr.
Glacann na roghanna ar leith d’ainm úsáideora agus pasfhocal proxy lena luachanna go díreach:
curl_setopt($ch, CURLOPT_PROXYUSERNAME, $user);
curl_setopt($ch, CURLOPT_PROXYPASSWORD, $password);
Úsáid iad mar fhoirm mhalartach sula ritear an t-iarratas. Ná cuir riail díchódaithe an réimse proxy chomhcheangailte i bhfeidhm go huathoibríoch ar CURLOPT_USERPWD; doiciméadaíonn libcurl difríocht.
Coinnigh na céimeanna fíordheimhnithe ar leith
Roghnaíonn CURLOPT_PROXYAUTH fíordheimhniú proxy, agus roghnaíonn CURLOPT_HTTPAUTH fíordheimhniú HTTP leis an gceann scríbe. Má éilíonn an dá pháirtí logáil isteach, socraigh na roghanna cuí do gach ceann in ionad na dintiúir chéanna a chóipeáil sa dá áit.
Ceadaíonn CURLAUTH_ANY idirbheartaíocht agus féadfaidh sé malartú dúshlán-freagra a chur leis sula roghnaítear modh. Ní chruthaíonn sé go bhfuil na dintiúir ceart. Féadfaidh ceanntásc Proxy-Authorization breise de láimh cur isteach ar láimhseáil fíordheimhnithe na leabharlainne.
Ní chosnaíonn tollán TLS níos déanaí an tsuímh dintiúir Basic ar nasc téacs soiléir leis an proxy. Seiceáil an t-iompar sin ar leithligh agus úsáid seirbhíse fíordheimhnithe á roghnú.