คำตอบสั้น
จะใช้พร็อกซี ISP แบบคงที่ในโค้ดได้อย่างไร?
ส่ง URL ของพร็อกซี http://USERNAME:PASSWORD@IP:PORT (หรือ socks5h:// สำหรับ SOCKS5) ให้ไคลเอนต์ HTTP ของคุณ: --proxy ของ curl, อาร์กิวเมนต์ proxies ของ Python requests หรือเอเจนต์ใน Node.js PinnedIP ให้เช่า IP ISP สหรัฐฯ แบบเฉพาะพร้อมทั้งสองโปรโตคอลเริ่มต้นที่ US$2.03 เป็นเวลา 30 วัน (ตุลาคม 2026) ไม่ต้อง KYC จ่ายด้วยคริปโต
curl
curl รองรับทั้งสองโปรโตคอลโดยตรง socks5h ทำให้พร็อกซีแปลงชื่อโฮสต์
curl -s --proxy http://USERNAME:[email protected]:HTTP_PORT https://api.ipify.org?format=json
curl -s --proxy socks5h://USERNAME:[email protected]:SOCKS_PORT https://api.ipify.org?format=jsonPython (requests)
ติดตั้ง requests (และ requests[socks] สำหรับ SOCKS5) หนึ่งเซสชันใช้การเชื่อมต่อซ้ำ ซึ่งสุภาพต่อปลายทางและรวดเร็ว
import requests
PROXY = "http://USERNAME:[email protected]:8080" # or socks5h://...:SOCKS_PORT
session = requests.Session()
session.proxies = {"http": PROXY, "https": PROXY}
session.headers["User-Agent"] = "price-check/1.0 (contact: [email protected])"
response = session.get("https://api.ipify.org?format=json", timeout=20)
response.raise_for_status()
print(response.json()["ip"])
import itertools
import time
import requests
IPS = ["203.0.113.10", "203.0.113.11", "203.0.113.12"]
USER, PASSWORD, PORT = "USERNAME", "PASSWORD", 8080
URLS = ["https://example.com/", "https://example.org/"]
pool = itertools.cycle(IPS)
for url in URLS:
ip = next(pool)
proxy = f"http://{USER}:{PASSWORD}@{ip}:{PORT}"
r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=20)
print(ip, url, r.status_code)
time.sleep(5) # keep a polite pace
Node.js
fetch ที่มีมาใน Node ไม่รับออปชันพร็อกซี ใช้ ProxyAgent ของแพ็กเกจ undici สำหรับพร็อกซี HTTP (Node 18 ขึ้นไป)
const { ProxyAgent, fetch } = require('undici');
const agent = new ProxyAgent('http://USERNAME:[email protected]:8080');
(async () => {
const res = await fetch('https://api.ipify.org?format=json', { dispatcher: agent });
const body = await res.json();
console.log(body.ip);
})();
มีกฎอะไรบ้างสำหรับคำขออัตโนมัติ?
ส่งคำขอในอัตราที่เว็บไซต์รับได้ ระบุไคลเอนต์ของคุณเมื่อทำได้ เคารพ robots.txt และข้อกำหนดของเว็บไซต์ และอย่าเก็บข้อมูลส่วนบุคคลที่คุณไม่มีสิทธิ์ประมวลผล ธนาคารออนไลน์ พอร์ทัลภาครัฐและพอร์ทัลชำระเงินถูกบล็อกบนทุก IP และพอร์ต SMTP 25, 465 และ 587 ก็เช่นกัน รายการทั้งหมดอยู่ในนโยบายการใช้งานที่ยอมรับได้
ตัวอย่างโค้ด: คำถามที่พบบ่อย
ทำไมใช้ socks5h แทน socks5?
ด้วย socks5h พร็อกซีจะแปลงชื่อโฮสต์ ดังนั้นการค้นหา DNS ก็ผ่าน IP สหรัฐฯ ด้วย ส่วน socks5 เครื่องของคุณเองจะแปลงชื่อก่อน
ทำไมคำขอของฉันคืนค่า 407?
พร็อกซีไม่ได้รับข้อมูลรับรองที่ถูกต้อง ตรวจสอบชื่อผู้ใช้และรหัสผ่าน หรือเพิ่ม IP ของคุณเองในรายการที่อนุญาตในพื้นที่ลูกค้าและตัดข้อมูลรับรองออก
รันคำขอจำนวนมากแบบขนานบน IP เดียวได้ไหม?
ได้ ภายใต้การใช้งานอย่างเป็นธรรม เว็บไซต์หลายแห่งจำกัดคำขอต่อ IP ดังนั้นกระจายงานหนักไปยัง IP หลายตัวและรักษาอัตราที่สุภาพ