Nýt eina proxy-IP við PHP cURL
Set ein HTTP- ella SOCKS-proxy á eitt PHP cURL-handtak, hav URL hjá síðuni fyri seg og skil flutningsvillur frá HTTP-svarum.
Hav heimasíðuna í curl_init() og set millumliðið á tað handtakið. PHP krevur sína cURL-víðkan; eitt virkandi curl-forrit í terminalinum prógvar ikki, at víðkanin er tøk.
<?php
$ch = curl_init('https://example.com/');
curl_setopt_array($ch, [
CURLOPT_PROXY => 'http://203.0.113.10:8080',
CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
CURLOPT_NOPROXY => '',
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;
echo $body;Skift IP og port úr skjølunum út við tín HTTP-proxy ella ein post úr listanum við HTTP-proxyum. CURLOPT_NOPROXY strikar framviðreglur til hesa royndina; CURLOPT_RETURNTRANSFER letur innihaldið aftur heldur enn at senda tað til kagan. Sambandsmarkið avmarkar stovnan, og samlaða tíðarfreistin avmarkar cURL-atgerðina.
Til eitt SOCKS5-endapunkt skalt tú skifta HTTP-proxyvalini út áðrenn curl_exec():
curl_setopt($ch, CURLOPT_PROXY, '203.0.113.10:1080');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);CURLPROXY_SOCKS5_HOSTNAME letur SOCKS-ambætaran taka sær av DNS hjá málinum. Nýt ásetta protokollið; port 1080 einsamalt eyðmerkir tað ikki. Hvørki proxyval krevur at sløkkja váttanarprógvkanningina hjá síðuni.
Royn $body === false strangt. Tómt innihald kann vera ein væleydnaður flutningur, meðan tunnilin kann bresta, áðrenn nakað svar frá síðuni finst. Hinvegin kann innihald fylgja við 403, 404 ella 429. Les CURLINFO_RESPONSE_CODE saman við villuúrslitinum hjá cURL fyri at meta, um lidna umbønin røkkur tínum endamáli.