Hvad CURLOPT_PROXYPORT tilføjer til en cURL-proxyindstilling
Forstå den separate proxyportindstilling, dens forrang over for en port i CURLOPT_PROXY, og hvorfor endepunktet stadig kræver en vært.
CURLOPT_PROXYPORT angiver kun et portnummer. Det identificerer ikke en proxyvært, vælger ikke en protokol og opretter ikke en lytter på den lokale maskine.
En ny PHP cURL-konfiguration er lettere at læse, når hele endepunktet holdes samlet:
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example:3128');libcurl-dokumentationen fraråder den separate portindstilling. Eksisterende kode kan stadig bruge den sammen med en vært uden indlejret port:
curl_setopt($handle, CURLOPT_PROXY, 'http://proxy.example');
curl_setopt($handle, CURLOPT_PROXYPORT, 3128);En port, der udtrykkeligt indgår i proxystrengen, har forrang over den separate indstilling. Undgå at vedligeholde to modstridende numre.
Hvis kun CURLOPT_PROXYPORT optræder i et uddrag, skal du undersøge resten af handle-konfigurationen og det relevante miljø. Uddraget alene afslører ikke, hvilken proxyvært libcurl vil bruge, hvis nogen.
Port 3128 er et velkendt udrulningsvalg, ikke en protokoldetektor. Brug lytterens faktiske protokol og port. For en offentlig HTTP-rute giver HTTP-proxylisten adresse- og portkandidater, som skal holdes sammen i proxy-URL'en. En proxy, der nås på en anden port, behøver ikke flyttes blot for at matche et eksempel.