Hoppa till huvudinnehåll
I kampen mellan webcrawler och anti-webcrawler har riskkontrollen på olika webbplatser och appar blivit allt starkare, där en av åtgärderna är IP-blockering. För att lösa problemet med IP-blockering är en effektiv metod att ställa in en proxy. När en proxy är inställd kan webcrawlern använda proxy-IP:t för att dölja sin verkliga IP-adress och därmed bryta igenom anti-webcrawler begränsningarna. Men kvaliteten på proxyer varierar, till exempel är nästan alla gratisproxyer på marknaden oanvändbara eller blockerade, och vissa betalda vanliga proxyer har också lagts till riskkontrollens svarta listor på olika webbplatser och appar. Därför finns det nu allt färre högkvalitativa proxyer som kan användas för datainsamling. För närvarande finns det främst tre typer av högkvalitativa proxyer på marknaden: dedikerade proxyer, ADSL-proxyer och mobila cellulära proxyer. Denna proxyservice är baserad på ADSL och erbjuder en roterande proxyservice. Detta dokument kommer att introducera ansökan och användningsmetoder för denna tjänst.

ADSL Proxy Introduktion

ADSL, som står för Asymmetric Digital Subscriber Line, är en typ av icke-symmetrisk digital abonnentlinje. ADSL ansluter till internet via uppringning, där man behöver ange ADSL-användarnamn och lösenord, och varje gång man ringer upp byts IP-adressen. IP-adresserna är fördelade över flera A-segment, och om alla IP-adresser är användbara innebär det att IP-mängden kan nå upp till tiotals miljoner. Proxyer baserade på ADSL har två fördelar jämfört med vanliga proxyer som är byggda i datacenter: För det första är linjerna i stort sett från mobil, Unicom och telekommunikation, vilket gör dem mer liknande de linjer som hushåll använder för daglig internetanvändning, så sannolikheten för att IP-adresser blockeras är något lägre. För det andra är IP-mängden stor; ju större IP-mängden är, desto mindre är sannolikheten för att varje enskild IP-adress blockeras. Denna proxyservice är baserad på en stor ADSL-proxypool som huvudsakligen täcker kinesiska linjer, där linjerna främst kommer från mobil, Unicom, telekommunikation och andra uppringda VPS-servrar, och täcker över 100 städer i Kina, med cirka 300 000 utgående IP-adresser dagligen. Den stöder nästan alla webbplatser och appar på marknaden för databehov, och proxykvaliteten är mycket hög, vilket kan minska risken för riskkontroll avsevärt.

Ansökningsmetod

För att använda ADSL-tjänsten kan du först gå till “ansökningssidan” för att ansöka. Första gången du ansöker får du 1 gratis poäng, vilket motsvarar cirka 17,5 MB. Om du inte är inloggad kommer du automatiskt att omdirigeras till inloggningssidan. Logga in och fortsätt med ansökan. När ansökan är klar kan du gå till “kontrollpanelen” för att se resultatet av din ansökan, som visas i bilden: Klicka på “Credentials” för att se användarnamn och lösenord för att använda ADSL-proxyservicen, separerade med kolon, där användarnamnet är 8 tecken långt och lösenordet är 32 tecken långt, som visas i bilden: Denna ADSL-proxy är en roterande proxy, så när du använder den behöver du bara ställa in en fast proxyadress och port. Proxyadressen och porten är adsl.proxy.acedata.cloud och 30005, och det är en proxy för HTTP/HTTPS/SOCKS-protokoll som kan användas för att få åtkomst till webbplatser som använder HTTP och HTTPS-protokoll.

Kommandotest

När du har proxyanvändarnamn och lösenord är det enklaste sättet att testa via curl-kommandoraden. Om du inte har installerat det, vänligen se https://curl.se/ för installation. Om det aktuella proxyanvändarnamnet och lösenordet är 1f78266a:eff0896726224fa2a99fe82dd1f07562, kan vi använda följande curl-kommando för att testa:
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@adsl.proxy.acedata.cloud:30005 https://ipinfo.io
Här använder vi curl:s -x-parameter för att specificera proxyadressen. Proxyprotokollet är som standard HTTP/HTTPS, och den begärda URL:en är https://ipinfo.io, som kan returnera den verkliga IP-adressen och platsen för den IP-adress som begärde webbplatsen. Resultatet ser ut som följer:
{
  "ip": "183.210.224.227",
  "city": "Jinrongjie",
  "region": "Beijing",
  "country": "CN",
  "loc": "39.9122,116.3561",
  "org": "AS56046 China Mobile communications corporation",
  "postal": "101100",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}

Kodintegration

Nedan visas hur man ställer in proxyen med Python som exempel:
import requests

proxy = 'https://{proxy_username}:{proxy_password}@adsl.proxy.acedata.cloud:30005'

proxies = {
    'http': proxy,
    'https': proxy
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io', proxies=proxies)
    print(resp.text)

Här deklarerar vi först proxyens URL och definierar den som variabeln proxy, där protokollet är http, följt av tunnelingproxyens användarnamn och lösenord (dvs. användarnamn och lösenord som visas i kontrollpanelen, separerade med kolon), följt av ett @-tecken och sedan proxyadressen och porten. Därefter deklarerar vi en variabel proxies och konfigurerar två nyckel-värde-par, där nycklarna är http och https, och deras värden är proxy, vilket innebär att för webbplatser som använder HTTP och HTTPS-protokoll används proxyvariabeln för att göra begäran. Sedan definierar vi en loop som körs tre gånger för att testa proxyen, där den begärda URL:en är https://ipinfo.io, som kan returnera den verkliga IP-adressen och platsen för den IP-adress som begärde webbplatsen. Resultatet ser ut som följer:
{
  "ip": "211.93.135.114",
  "city": "Shanghai",
  "region": "Shanghai",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS4837 CHINA UNICOM China169 Backbone",
  "postal": "200000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "112.22.109.176",
  "city": "Nanjing",
  "region": "Jiangsu",
  "country": "CN",
  "loc": "32.0617,118.7778",
  "org": "AS56046 China Mobile communications corporation",
  "postal": "210000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.162.179.215",
  "city": "Yangzhou",
  "region": "Jiangsu",
  "country": "CN",
  "loc": "32.3972,119.4358",
  "org": "AS24445 Henan Mobile Communications Co.,Ltd",
  "postal": "225000",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}
Det kan ses att resultaten av proxy-IP som erhålls varje gång körningen är slumpmässiga, och att IP:erna verkligen kommer från olika provinser och städer i Kina. Självklart är den ovanstående proxyinställningen faktiskt en relativt enkel inställning. I själva verket är den ovanstående koden ekvivalent med att ställa in en extra header - Proxy Authorization vid begäran, så den ovanstående koden kan också skrivas om som följer:
import requests
import base64

proxy_host = 'adsl.proxy.acedata.cloud'
proxy_port = '30005'
proxy_username = '{proxy_username}' # 8 tecken användarnamn
proxy_password = '{proxy_password}' # 32 tecken lösenord

credentials = base64.b64encode(
    f'{proxy_username}:{proxy_password}'.encode()).decode()

proxies = {
    'http': f'http://{proxy_host}:{proxy_port}',
    'https': f'http://{proxy_host}:{proxy_port}'
}

headers = {
    'Proxy-Authorization': f'Basic {credentials}'
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io',
                        proxies=proxies, headers=headers)
    print(resp.text)

Det kan ses att här har vi genom headern Proxy-Authorization ställt in användarnamn och lösenord för proxy (som behöver Base64-kodas), och effekten av att köra sådan kod är densamma. För andra språk, som JavaScript:s axios, kan en liknande inställning också användas:
const axios = require("axios");
const base64 = require("base64");

const proxy_host = "adsl.proxy.acedata.cloud";
const proxy_port = "30005";
const proxy_username = "{proxy_username}"; // 8 tecken användarnamn
const proxy_password = "{proxy_password}"; // 32 tecken lösenord

const credentials = base64.encode(`${proxy_username}:${proxy_password}`);

const proxies = {
  http: `http://${proxy_host}:${proxy_port}`,
  https: `http://${proxy_host}:${proxy_port}`,
};

const headers = {
  "Proxy-Authorization": `Basic ${credentials}`,
};

for (let i = 0; i < 3; i++) {
  axios
    .get("https://ipinfo.io", { proxies, headers })
    .then((resp) => console.log(resp.data))
    .catch((err) => console.error(err));
}
Körningseffekten är densamma. För inställningsmetoder för andra språk, vänligen hänvisa till ovanstående text och skriv om själv.

Köp mer

Om ditt paket redan har tagit slut, behöver du köpa mer för att fortsätta använda denna proxyservice. För att köpa mer, gå till 「ansökningssidan」 och klicka direkt på knappen 「Köp mer」 för att välja, ju mer du köper på en gång, desto billigare blir enhetspriset.