コンテンツにスキップ
ログイン サインアップ

インテグレーション

HTTPまたはSOCKS5を話すクライアントであれば、どれでもShifterゲートウェイと連携できます。以下は、多くのお客様が利用しているツール向けのコピー&ペースト用設定です。

Terminal window
curl -x customer-USERNAME-country-us-sid-9f3a2b7c-ttl-600:PASSWORD@p.shifter.io:443 \
https://ipinfo.io/json

リクエストごとにプロキシURLをローテーションし、request.meta経由でスパイダーが国を上書きできるようにするミドルウェアです。

settings.py
DOWNLOADER_MIDDLEWARES = {
"scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware": 110,
"your_project.middlewares.ShifterProxyMiddleware": 100,
}
# middlewares.py
import os
class ShifterProxyMiddleware:
def process_request(self, request, spider):
username = os.environ["SHIFTER_USERNAME"]
password = os.environ["SHIFTER_PASSWORD"]
country = request.meta.get("shifter_country", "us")
request.meta["proxy"] = (
f"http://{username}-country-{country}:{password}@p.shifter.io:443"
)

request.meta["shifter_country"] = "de" でリクエストごとに上書きできます。

import puppeteer from 'puppeteer';
const browser = await puppeteer.launch({
args: ['--proxy-server=http://p.shifter.io:443'],
});
const page = await browser.newPage();
await page.authenticate({
username: 'customer-USERNAME-country-us-sid-s1-ttl-600-sid-9f3a2b7c-ttl-600',
password: 'PASSWORD',
});
await page.goto('https://ipinfo.io/json');
console.log(await page.content());
await browser.close();
import { chromium } from 'playwright';
const browser = await chromium.launch({
proxy: {
server: 'http://p.shifter.io:443',
username: 'customer-USERNAME-country-us-sid-s1-ttl-600-sid-9f3a2b7c-ttl-600',
password: 'PASSWORD',
},
});
const page = await browser.newPage();
await page.goto('https://ipinfo.io/json');
  1. Options → New Profile → Proxy Profile を開きます。
  2. Protocol: HTTP、Server: p.shifter.io、Port: 443
  3. Username: customer-USERNAME-country-us。Password: PASSWORD
  4. 変更を適用し、新しいプロファイルに切り替えます。

ブラウザプロファイル設定にて:

  • Connection type: HTTP Proxy
  • Host: p.shifter.io
  • Port: 443
  • Username: customer-USERNAME-country-us-sid-<profile-id>-ttl-1800
  • Password: PASSWORD

プロファイルIDをセッションIDとして使用することで、各管理対象ブラウザはセッション全体を通して一貫したIPを保持できます。

  • セッション、ブラウザプロファイルとうまく連携するセッションIDの作り方。
  • FAQ、対象サイトが依然としてブロックしてくる場合の対処方法。