เอกสาร

เอกสารสำหรับนักพัฒนา

คู่มือการรวม ตัวอย่างที่ใช้งานได้จริง และ REST API reference สำหรับเครือข่ายโมบายล์พร็อกซี mobileproxy.space — Python, Node.js, Go, cURL, Playwright, Selenium

เริ่มต้นอย่างรวดเร็ว

เรียกใช้คำขอผ่านพร็อกซีครั้งแรกของคุณภายในเวลาไม่ถึงหนึ่งนาที สิ่งที่ต้องมี: พร็อกซีที่ใช้งานอยู่ในบัญชีของคุณและ API token จากแดชบอร์ด

  1. ลงทะเบียนที่ mobileproxy.space
  2. สั่งซื้อพร็อกซี — เลือกประเทศและผู้ให้บริการในหน้าซื้อพร็อกซี
  3. คัดลอก API tokenของคุณจากหน้า APIขณะที่เข้าสู่ระบบ
  4. ส่งคำขอแรกของคุณ — เลือกภาษาด้านล่าง
curl --request GET \ --url 'https://mobileproxy.space/api.html?command=get_my_proxy' \ --header 'Authorization: Bearer YOUR_API_TOKEN'
import requests r = requests.get( "https://mobileproxy.space/api.html", params={"command": "get_my_proxy"}, headers={"Authorization": "Bearer YOUR_API_TOKEN"}, timeout=10, ) print(r.json())
const res = await fetch( "https://mobileproxy.space/api.html?command=get_my_proxy", { headers: { Authorization: "Bearer YOUR_API_TOKEN" } } ); console.log(await res.json());
req, _ := http.NewRequest("GET", "https://mobileproxy.space/api.html?command=get_my_proxy", nil) req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body))
ขีดจำกัดอัตรา: 3 req/sec × N พร็อกซีที่ใช้งาน Cooldown คำขอเหมือนกัน: 3 วินาที HTTP 429 เมื่อเกินขีดจำกัด

การยืนยันตัวตน

การเรียก API ทั้งหมดยืนยันตัวตนด้วย Bearer token ส่วนตัว Token ผูกกับบัญชีของคุณ ไม่ใช่กับพร็อกซีแต่ละตัว

หา token ของคุณได้ที่ไหน

เข้าสู่แดชบอร์ดและเปิด API ฟิลด์ token อยู่ด้านบน คุณสามารถหมุน token ได้ทุกเมื่อ — อันเก่าจะถูกเพิกถอนทันที

การส่ง token

Authorization: Bearer YOUR_API_TOKEN

IP allowlist (ไม่บังคับ)

เพื่อความปลอดภัยเพิ่มเติม คุณสามารถจำกัดการเรียก API ไว้ที่ IP เดียว ตั้งค่าที่ IP ที่อนุญาต ในหน้า API คำขอจาก IP อื่นจะถูกปฏิเสธแม้ token จะถูกต้อง

การยืนยันตัวตนของพร็อกซีเอง

พร็อกซีใช้ login/password (ค่าเริ่มต้น) หรือ การอนุญาตด้วย IP ตั้งค่าได้ในแดชบอร์ดสำหรับแต่ละพร็อกซี เมื่อใช้การอนุญาตด้วย IP จะไม่มีการส่งข้อมูลรับรองในการเชื่อมต่อพร็อกซี

แนวคิดพื้นฐาน

IP ของผู้ให้บริการมือถือ

พร็อกซีทุกตัวในเครือข่ายคือโมเด็ม 4G/5G จริงที่เชื่อมต่อกับผู้ให้บริการมือถือจริง (MTS, Beeline, T-Mobile, Vodafone ฯลฯ) เว็บไซต์เป้าหมายเห็นทราฟฟิกราวกับมาจากสมาร์ทโฟนทั่วไปบนเครือข่ายเซลลูลาร์ ไม่ใช่ดาต้าเซ็นเตอร์

CGNAT — ทำไม IP มือถือถึง "ใช้ร่วมกัน"

ผู้ให้บริการมือถือกำหนดเส้นทางผู้สมัครหลายพันคนผ่าน IP สาธารณะเดียวกันผ่าน Carrier-Grade NAT การแบน IP เดียวจะบล็อกลูกค้าจริง ดังนั้นระบบ anti-fraud จึงปฏิบัติต่อ IP มือถืออย่างอ่อนโยนกว่า IP บ้านหรือดาต้าเซ็นเตอร์ นี่คือเหตุผลเชิงโครงสร้างที่พร็อกซีมือถือมีคะแนนความน่าเชื่อถือสูงกว่า

การหมุน (Rotation)

คุณเปลี่ยน IP ภายนอกตามต้องการโดยทริกเกอร์การเชื่อมต่อโมเด็มใหม่:

  • ผ่านลิงก์ — ส่งคำขอ GET ไปยัง URL เฉพาะ (changeip.host/?proxy_key=…) เพื่อหมุน คืนค่า IP ใหม่ใน JSON
  • ผ่านตัวจับเวลา — หมุนอัตโนมัติทุก N นาที (กำหนดค่าต่อพร็อกซีได้)
  • ไม่มีการหมุน (sticky) — เก็บ IP เดิมจนกว่าคุณจะร้องขอ

Sticky sessions

เซสชัน "sticky" คือพร็อกซีที่ปิดการหมุน (หรือตัวจับเวลายาว) คำขอทั้งหมดผ่านพร็อกซีนั้นใช้ IP เดียวกันตลอดเซสชัน มีประโยชน์สำหรับขั้นตอนหลายขั้น (login → ชำระเงิน, parse หลายหน้าของเซสชันเดียว)

การคงเซสชันข้ามการหมุน

Cookies, localStorage และเซสชัน TLS อยู่ที่ฝั่งไคลเอนต์ ไม่ใช่ที่พร็อกซี หลังการหมุน เซสชันที่มีอยู่ในเบราว์เซอร์/ไลบรารีของคุณยังคงอยู่ มีเพียง source IP เท่านั้นที่เปลี่ยน

การรวมระบบ

สนิปเป็ตที่พร้อมใช้สำหรับสแตคยอดนิยมที่สุด แทนที่ PROXY_HOST, PROXY_PORT, LOGIN, PASSWORD ด้วยค่าจาก get_my_proxy

import requests proxy = "http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT" r = requests.get("https://httpbin.org/ip", proxies={"http": proxy, "https": proxy}, timeout=15) print(r.json())
import { HttpsProxyAgent } from "https-proxy-agent"; const agent = new HttpsProxyAgent("http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT"); const res = await fetch("https://httpbin.org/ip", { agent }); console.log(await res.json());
proxyURL, _ := url.Parse("http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT") client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyURL)}} resp, _ := client.Get("https://httpbin.org/ip") defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body))
curl -x http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT https://httpbin.org/ip # SOCKS5 curl --socks5 LOGIN:PASSWORD@PROXY_HOST:SOCKS_PORT https://httpbin.org/ip
import { chromium } from "playwright"; const browser = await chromium.launch({ proxy: { server: "http://PROXY_HOST:PROXY_PORT", username: "LOGIN", password: "PASSWORD", }, }); const page = await browser.newPage(); await page.goto("https://httpbin.org/ip"); console.log(await page.content()); await browser.close();
from seleniumwire import webdriver opts = {"proxy": { "http": "http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT", "https": "http://LOGIN:PASSWORD@PROXY_HOST:PROXY_PORT", "no_proxy": "localhost,127.0.0.1", }} driver = webdriver.Chrome(seleniumwire_options=opts) driver.get("https://httpbin.org/ip") print(driver.page_source) driver.quit()
SDK อย่างเป็นทางการและตัวอย่างเต็มรูปแบบบน GitHub: Python · Node · PHP · OpenAPI spec

กรณีการใช้งาน

สิ่งที่นักพัฒนาสร้างจริงด้วยพร็อกซีมือถือ แต่ละการ์ดเป็นรูปแบบทั่วไป

Web scraping

หมุน IP ต่อคำขอหรือต่อเซสชัน รวมกับเครื่องมือ browser fingerprinting

อัตโนมัติเบราว์เซอร์

Playwright / Selenium ด้วยหนึ่งพร็อกซีต่อ worker, sticky sessions สำหรับ flow ที่มี state

การตรวจสอบและ QA

ตรวจสอบเนื้อหา geo-targeted, ราคา, ตัวแปร A/B จากเครือข่ายผู้ให้บริการจริง

การตรวจสอบโฆษณา/SERP

SERP scraping, การยืนยันตำแหน่งโฆษณา, การตรวจสอบครีเอทีฟเฉพาะมือถือ

SMM และหลายบัญชี

หนึ่งพร็อกซีมือถือต่อบัญชี — โปรไฟล์ IP ระดับผู้ให้บริการเหมือนผู้ใช้จริงมากที่สุด

Data pipelines

Workers เบื้องหลัง pool ที่หมุน, retries เมื่อหมุน, การ logging ข้อผิดพลาดแบบมีโครงสร้าง

API Reference

REST reference เต็มรูปแบบ — ทุก endpoint, พารามิเตอร์ และรูปแบบการตอบสนอง — อยู่ในหน้า API เฉพาะ ปรับให้เข้ากับ token ของคุณอัตโนมัติเมื่อเข้าสู่ระบบ

เอกสาร REST API ฉบับเต็ม

~15 endpoints: การจัดการพร็อกซี, การหมุน IP, blacklists, ค้นหา geo/operator, ยอดคงเหลือ

เปิด API Reference

Endpoints ที่ใช้บ่อยที่สุด

  • GET /api.html?command=get_my_proxy
  • GET CHANGEIP_HOST/?proxy_key=…
  • GET /api.html?command=proxy_ip&proxy_id=…
  • GET /api.html?command=change_equipment&…
  • GET /api.html?command=get_geo_operator_list

แก้ไขปัญหา

ปัญหาอันดับต้นที่นักพัฒนาพบ พร้อมวิธีแก้ไขมาตรฐาน FAQ ฉบับเต็มอยู่ที่หน้า FAQ

การเชื่อมต่อหมดเวลา / ถูกปฏิเสธ

ตรวจสอบว่าพร็อกซีทำงานอยู่ในแดชบอร์ด, IP allowlist ตรงกับ IP ออกของเครื่องคุณ และคุณใช้พอร์ตที่ถูกต้องสำหรับ HTTP vs SOCKS5

การหมุนคืน IP เดิม

ผู้ให้บริการอาจกำหนดที่อยู่เดิมใหม่ — เป็นเรื่องปกติใน pool ขนาดเล็ก ทริกเกอร์การหมุนอีกครั้ง หรือเปลี่ยนผู้ให้บริการด้วย change_equipment

เว็บไซต์เป้าหมายแสดง captcha

Captchas สัมพันธ์กับ fingerprint ไม่ใช่แค่ IP จับคู่ IP มือถือกับ User-Agent มือถือ, viewport มือถือ และโปรไฟล์ TLS ที่สอดคล้อง ดู Fingerprint generator

เซสชันหมดอายุโดยไม่คาดคิด

Auto-rotation กำลังทำงานกลางเซสชันของคุณ ปิดการหมุนตามตัวจับเวลา หรือจับ cookies/tokens ก่อนการหมุน

Geo ไม่ตรงกัน / ประเทศผิด

ผู้ให้บริการมือถือบางครั้งกำหนดเส้นทางผ่านโหนดต่างประเทศ ตรวจสอบด้วย proxy_ip และเปลี่ยนเส้นทางผ่าน change_equipment หากจำเป็น

HTTP 429 จาก API

คุณเกินขีดจำกัดอัตรา เพิ่ม exponential backoff, แคชการตอบสนอง get_my_proxy, ส่งรายการ proxy_id แบบ batch ที่รองรับ

แนวปฏิบัติที่ดีที่สุด

กลยุทธ์ retry

ห่อทุกคำขอพร็อกซีใน retry-with-jitter (3 ครั้ง, 500ms–3s) ที่ 429 — exponential backoff ที่ connection errors — หมุนก่อน retry

การจัดการเซสชัน

หนึ่งพร็อกซีต่อหนึ่งเซสชันเชิงตรรกะ Persist cookies/localStorage ต่อ worker อย่าแชร์ HTTP keep-alive pool ระหว่างการหมุน

ช่วงเวลาการหมุน

สำหรับ scraping — หมุนต่อคำขอหรือทุก 30–120 วินาที สำหรับงานบัญชี — sticky sessions ยาว (ชั่วโมง) หมุนเฉพาะที่ logout/error ที่ชัดเจน

ความสอดคล้องของเบราว์เซอร์

จับคู่ User-Agent กับผู้ให้บริการ (4G → UA มือถือ) ตั้ง timezone และ locale ให้ตรงกับภูมิภาคของพร็อกซี ปิดการรั่ว IP ของ WebRTC

การหลีกเลี่ยงการแบน

รักษาอัตราคำขอในระดับที่มนุษย์ทำได้ สุ่มจังหวะคำขอ จับคู่ IP มือถือกับ fingerprint มือถือ ไม่ใช่เดสก์ท็อป

ความสามารถในการสังเกต

Log proxy_id, IP ปัจจุบัน, response code และเหตุการณ์การหมุนพร้อมกัน เมื่อมีอะไรพัง คุณจะรู้ว่าเป็น IP, fingerprint หรือ target