代码示例
从任何语言或框架连接到 FlashProxy。每个产品都使用相同的连接模式 — 你的用户名和密码配合你产品的主机和端口:
USERNAME:PASSWORD@HOST:PORT下面的示例使用住宅网关(adam.flashproxy.io:8080)。从产品页面中你的产品页面替换主机和端口,并用你计划的代理凭证替换 USERNAME / PASSWORD。每个示例都从 api.ipify.org 获取你的出口 IP — 如果打印的 IP 不是你的,则说明你已连接。
USERNAME / PASSWORD 从何而来?它们是你的计划的 proxy_username 和 proxy_password — 按计划生成并显示在仪表板中该计划的页面上。它们_不是_你的 FlashProxy 账户登录凭证。详见身份验证。
对于 SOCKS5,使用 socks5:// 和 SOCKS 端口(见代理格式)。对于粘性会话和地理位置定位,在仪表板生成器中构建用户名(见轮转与粘性和地理位置定位)。
cURL
curl -x "http://USERNAME:[email protected]:8080" https://api.ipify.orgPython — requests
import requests
proxy = "http://USERNAME:[email protected]:8080"
proxies = {"http": proxy, "https": proxy}
resp = requests.get("https://api.ipify.org", proxies=proxies)
print(resp.text)使用 pip install requests 安装。
Python — httpx(异步)
import asyncio
import httpx
proxy = "http://USERNAME:[email protected]:8080"
async def main():
async with httpx.AsyncClient(proxy=proxy) as client:
resp = await client.get("https://api.ipify.org")
print(resp.text)
asyncio.run(main())使用 pip install httpx 安装。需要 httpx 0.26+(proxy= 参数);较旧的版本使用 proxies={"http://": proxy, "https://": proxy} 代替。
Node.js — axios
import axios from 'axios';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent(
'http://USERNAME:[email protected]:8080'
);
const resp = await axios.get('https://api.ipify.org', {
httpAgent: agent,
httpsAgent: agent,
});
console.log(resp.data);使用 npm install axios https-proxy-agent 安装。
Node.js — fetch(undici)
import { ProxyAgent } from 'undici';
const dispatcher = new ProxyAgent(
'http://USERNAME:[email protected]:8080'
);
const resp = await fetch('https://api.ipify.org', { dispatcher });
console.log(await resp.text());Node 18+ 自带全局 fetch;使用 npm install undici 安装代理。
Scrapy
使用一个小的下载器中间件在每个请求上设置代理:
# middlewares.py
class FlashProxyMiddleware:
PROXY = "http://USERNAME:[email protected]:8080"
def process_request(self, request, spider):
request.meta["proxy"] = self.PROXY# settings.py
DOWNLOADER_MIDDLEWARES = {
"myproject.middlewares.FlashProxyMiddleware": 610,
}Playwright(Python)
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(
proxy={
"server": "http://adam.flashproxy.io:8080",
"username": "USERNAME",
"password": "PASSWORD",
}
)
page = browser.new_page()
page.goto("https://api.ipify.org")
print(page.inner_text("body"))
browser.close()Puppeteer(Node.js)
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch({
args: ['--proxy-server=http://adam.flashproxy.io:8080'],
});
const page = await browser.newPage();
await page.authenticate({ username: 'USERNAME', password: 'PASSWORD' });
await page.goto('https://api.ipify.org');
console.log(await page.evaluate(() => document.body.innerText));
await browser.close();Selenium(Python)
Selenium 无法直接传递代理凭证 — 使用 selenium-wire:
from seleniumwire import webdriver
proxy = "http://USERNAME:[email protected]:8080"
options = {"proxy": {"http": proxy, "https": proxy, "no_proxy": "localhost,127.0.0.1"}}
driver = webdriver.Chrome(seleniumwire_options=options)
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()使用 pip install selenium-wire 安装。
浏览器(手动)
在浏览器的网络/代理设置中输入主机和端口;首次连接时会提示输入用户名和密码。对于按配置文件控制,使用 FoxyProxy 等扩展程序并添加 adam.flashproxy.io:8080 配合你的凭证。