# 모바일 프록시 IP 회전 API: 링크나 API 호출로 IP 변경하기

> 링크나 API 호출로 4G/5G 모바일 프록시 IP 변경: 엔드포인트, curl/Python/Node 코드, 429 제한 적용. CellMast는 KYC 없고, 암호화폐 결제 지원.

- URL: https://cellmast.com/ko/ip-rotation-api/
- 마지막 업데이트: 2026-10-13
- Publisher: CellMast (https://cellmast.com)

모든 CellMast 전용 포트는 브라우저에서 열 수 있는 회전 링크, 스크립트용 REST 엔드포인트, 무인 회전을 위한 타이머를 제공합니다. 이 페이지에서 세 가지 모두, 제한 및 응답을 확인할 수 있습니다.

*회전 후 새로운 IP 확인하기*

```
# 1. change the IP of your port
$ curl "https://cellmast.com/api/v1/mobile/{port}/rotate?key=API_KEY&format=text"
# 2. send a request through the port
$ curl -x http://USERNAME:PASSWORD@gw.cellmast.com:7777 https://api.ipify.org
```

**빠른 답변 — 모바일 프록시 IP를 링크, API 또는 타이머로 어떻게 변경하나요?**

**CellMast**를 사용해 포트 회전 링크를 열거나, `https://cellmast.com/api/v1/mobile/{port}/rotate?key=API_KEY`, 또는 POST 방식과 Bearer 키로 같은 엔드포인트를 호출하세요. 모뎀이 통신사에 재접속해 새로운 IP를 받습니다. 각 회전 시 포트를 캐리어에 재연결하며 보통 5~15초 소요; 간헐적으로 동일 IP가 배정될 수 있으니 다시 회전 권장. 모든 일일 $2.63 전용 4G/5G 포트에는 회전 기능이 포함되어 있으며, KYC 없이 암호화폐로 비용 처리됩니다.

## 회전 요약

| 속성 | 값 |
| --- | --- |
| 회전 링크 | `GET https://cellmast.com/api/v1/mobile/{port}/rotate?key=API_KEY` |
| 스크립트 호출 | `POST /api/v1/mobile/{portId}/rotate` 및 `Authorization: Bearer API_KEY` |
| 타이머 | `PATCH /api/v1/mobile/{portId}`와 함께 `rotation.mode = interval`, 2분마다부터 24시간마다까지 |
| 로테이션이 하는 일 | 각 회전 시 포트를 캐리어에 재연결하며 보통 5~15초 소요; 간헐적으로 동일 IP가 배정될 수 있으니 다시 회전 권장 |
| 최소 간격 | 하나의 포트를 수동으로 두 번 로테이션할 때 30초 간격; 이전 호출은 HTTP 429와 함께 `Retry-After` 수신 |
| 응답 | 새 IP, 이전 IP, 로테이션 시간, 다음 허용 로테이션 시점 |
| 같은 IP가 다시 올까? | 가능: 통신사가 풀에서 주소를 선택함 |
| 비용 | 모든 전용 포트에 포함; 로테이션별 추가 요금 없음 |
| 키 범위 | `proxies` 범위가 포함된 API 키 |

## 로테이션 링크는 어떻게 작동하나요?

로테이션 링크는 포트 ID가 포함된 일반 URL입니다(`mob_2v8k1q`처럼 보임; 클라이언트 영역에서 각 포트의 준비된 링크를 확인 가능) 그리고 그 안에 API 키가 들어있습니다. 브라우저, 북마크 또는 스크립트에서 열면 모뎀에 통신 연결을 끊고 다시 붙으라고 요청합니다. 통신사는 보통 다른 IP 주소를 할당합니다.

`&format=text`을 추가하면 새 IP만 일반 텍스트로 받아볼 수 있어 셸 스크립트에서 유용합니다. 이 링크를 비밀번호처럼 다루세요: 이 링크를 가진 누구든 포트를 로테이션할 수 있고, API 호출 시 같은 키로 포트 설정, 하위 사용자, IP 허용 목록 변경도 가능합니다. 로테이션 링크 전용 별도 키를 만들고 링크를 공유 문서나 채팅 미리보기에서 제외하며, 키가 노출되면 클라이언트 영역에서 즉시 폐기하세요.

*링크로 로테이션하기 (curl)*

```bash
# Replace {port} with your port ID (e.g. mob_2v8k1q, not 7777) and API_KEY with your key
curl "https://cellmast.com/api/v1/mobile/{port}/rotate?key=API_KEY"

# Plain-text answer: just the new IP
curl "https://cellmast.com/api/v1/mobile/{port}/rotate?key=API_KEY&format=text"
```

## REST API로 스크립트에서 어떻게 로테이션 하나요?

스크립트는 POST를 사용하고 키를 `Authorization` 헤더에 넣어 서버 로그나 브라우저 기록에 키가 남지 않게 해야 합니다. 응답에서 새 IP와 다음 로테이션 가능 시점을 알려줍니다.

*POST /api/v1/mobile/{portId}/rotate*

```bash
curl -X POST "https://cellmast.com/api/v1/mobile/PORT_ID/rotate" \
  -H "Authorization: Bearer API_KEY"
```

*예시 응답 (200)*

```json
{
  "ip": "203.0.113.24",
  "previousIp": "198.51.100.7",
  "rotatedAt": "2026-10-13T09:41:07Z",
  "nextRotationAvailableAt": "2026-10-13T09:41:37Z"
}
```

예시의 주소와 시간은 설명을 위한 것입니다. `previousIp`를 통해 통신사가 진짜 새 주소를 할당했는지 코드에서 확인할 수 있습니다.

## 너무 자주 회전하면 어떻게 되나요?

포트는 최대 30초마다 한 번만 수동 회전을 허용합니다. 그보다 빨리 호출하면 HTTP **429** 에러와 함께 `rotation_too_soon` 오류 및 대기 시간을 나타내는 `Retry-After` 헤더가 반환됩니다. 아무 것도 깨지지 않으며, 포트는 현재 IP를 유지합니다.

가능한 한 빨리 회전하는 것은 거의 쓸모없습니다. 각 재연결 시 포트는 트래픽을 전송하지 않고, 통신 사업자가 같은 주소를 다시 할당할 수 있기 때문입니다. [회전 전략 가이드](https://cellmast.com/ko/guides/mobile-ip-rotation-strategy/)에서는 작업별 권장 간격을 제안합니다.

*예시 응답 (429)*

```http
HTTP/1.1 429 Too Many Requests
Retry-After: 22
Content-Type: application/json

{
  "error": {
    "code": "rotation_too_soon",
    "message": "Next rotation available in 22 seconds",
    "details": { "retryAfter": 22 },
    "requestId": "req_2b7c11"
  }
}
```

## 자동 타이머 회전은 어떻게 설정하나요?

포트의 회전 모드를 `interval`으로 설정하고 2분에서 1,440분(2분부터 24시간까지) 사이 분 단위의 숫자를 선택하세요. 그러면 타이머가 별도 호출 없이 포트를 자동으로 회전합니다. 중지하려면 `manual`로 다시 전환하세요. 클라이언트 영역에서도 타이머를 설정할 수 있습니다.

*10분마다 회전*

```bash
curl -X PATCH "https://cellmast.com/api/v1/mobile/PORT_ID" \
  -H "Authorization: Bearer API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rotation": {"mode": "interval", "intervalMinutes": 10}}'

# back to manual rotation
curl -X PATCH "https://cellmast.com/api/v1/mobile/PORT_ID" \
  -H "Authorization: Bearer API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rotation": {"mode": "manual", "intervalMinutes": null}}'
```

## Python 또는 Node.js에서 어떻게 회전하나요?

두 예제 모두 포트를 회전시키고 새 IP를 출력합니다. Python 예제는 이후에 포트를 통해 요청을 보냅니다. [Python 가이드](https://cellmast.com/ko/guides/python-mobile-proxy/)는 재시도와 회전 도우미를 추가합니다.

*Python (requests)*

```python
import requests

API = "https://cellmast.com/api/v1"
KEY = "API_KEY"
PORT_ID = "PORT_ID"
PROXY = "http://USERNAME:PASSWORD@gw.cellmast.com:7777"

r = requests.post(f"{API}/mobile/{PORT_ID}/rotate",
                  headers={"Authorization": f"Bearer {KEY}"}, timeout=60)
if r.status_code == 429:
    print("too soon, retry after", r.headers.get("Retry-After"), "s")
else:
    r.raise_for_status()
    print("new IP:", r.json()["ip"])

print(requests.get("https://api.ipify.org",
                   proxies={"http": PROXY, "https": PROXY}, timeout=30).text)
```

*Node.js 18+ (rotate.mjs로 저장)*

```javascript
// save as rotate.mjs (ES module), then: node rotate.mjs
const API = "https://cellmast.com/api/v1";
const res = await fetch(`${API}/mobile/PORT_ID/rotate`, {
  method: "POST",
  headers: { Authorization: "Bearer API_KEY" },
  signal: AbortSignal.timeout(60000),
});
if (res.status === 429) {
  console.log("retry after", res.headers.get("retry-after"), "s");
} else if (!res.ok) {
  throw new Error(`HTTP ${res.status}`);
} else {
  const { ip, previousIp } = await res.json();
  console.log(previousIp, "->", ip);
}
```

## 포트를 다른 통신사, 도시, 국가로 이동할 수 있나요?

지원팀에 문의하세요. 다른 국가가 필요하신가요? 지원팀에 문의하세요. 해당 국가에 포트가 재고가 있다면 남은 일수를 그쪽으로 이전해 드리며, 가격 차이는 잔액으로 정산됩니다(청구 기간당 1회 이동 가능). 동일 국가 내에서 다른 통신사나 도시도 동일합니다. 이동 후 호스트, 포트, 비밀번호가 변경될 수 있으므로 클라이언트 영역에서 다시 확인하세요.

## 포트가 사용한 IP를 볼 수 있나요?

네. `GET /api/v1/mobile/{portId}/ip-history`에서 포트에 할당된 주소와 사용 시간을 볼 수 있습니다. 회전 후 새로운 주소가 생성되는지 확인하거나, 자체 로그와 대조하거나, 주소가 선택한 통신사에 속했는지 확인할 때 유용합니다. `GET /api/v1/mobile/{portId}/usage`에서는 일일 트래픽 정보를 보여주며, 전용 포트의 데이터는 무제한입니다.

## GB별 회전 풀에 이 API가 필요한가요?

아니요. [회전하는 모바일 풀](https://cellmast.com/ko/mobile-proxies/rotating/)은 자체적으로 IP를 변경합니다: 새 연결마다 풀에서 보통 다른 IP가 배정됨; 매 요청 새 IP를 원하면 연결당 1회 요청(keep-alive 비활성화). 사용자 이름으로 제어하며, 예를 들어 `USERNAME-country-us-session-abc123-ttl-15`는 15분 스티키 세션입니다. 회전 API는 하나의 모뎀이 전용이고 IP 변경 시점을 사용자가 결정하는 전용 포트용입니다.

## 회전에 관한 질문들

### 모바일 프록시에서 IP 변경은 얼마나 걸리나요?

CellMast 전용 포트에서는 보통 5~15초 정도 걸립니다: 모뎀이 통신사에서 연결을 끊고 다시 연결되어 통신사가 새 주소를 할당합니다. 이 기간 동안 포트는 트래픽을 전송하지 않으니 API가 새 IP를 반환할 때까지 요청을 일시 중지하세요.

### 회전 횟수 제한이 있나요?

회전은 추가 비용 없이 가능합니다. API는 한 가지 제한만 둡니다: 포트당 최대 30초에 한 번의 수동 회전만 가능합니다. 타이머는 2분부터 24시간까지 설정할 수 있습니다.

### 왜 회전 후 같은 IP가 나왔나요?

통신사가 주소를 선택하기 때문입니다. 통신사들은 CGNAT을 통해 여러 가입자에게 공용 IPv4 주소를 공유하며, 재접속 시 같은 IP가 할당될 수 있습니다. 응답의 `previousIp`을 확인하고 다른 주소가 필요하면 30초 후에 다시 회전하세요. [CGNAT 가이드](https://cellmast.com/ko/guides/cgnat-mobile-ips/)]를 참고하세요.

### 회전 링크를 공유해도 안전한가요?

포트를 제어할 수 있는 사람과만 공유하세요. 링크에는 API 키가 포함되어 있어, 키를 가진 누구나 포트를 회전할 수 있고, API 호출 시 동일한 키로 포트 설정, 서브 사용자 또는 IP 허용 목록을 변경할 수 있습니다. 회전 링크에는 별도의 키를 사용하고, 스크립트에서는 헤더에 키를 넣는 POST 엔드포인트를 사용하는 것이 좋으며, 링크가 유출되면 클라이언트 영역에서 키를 폐기하세요.

### 다음 IP를 선택하거나 IP를 영구적으로 유지할 수 있나요?

아니요. 통신사가 주소를 할당하므로 아무도 다음 IP를 선택할 수 없으며 통신사가 자체적으로 주소를 변경할 수도 있습니다. 장기간 동일한 주소가 필요하다면 회전을 수동으로 설정하고 재접속을 피하세요. 허용 목록용 고정 IP가 필요하면 모바일 프록시는 적합하지 않습니다.

**모든 포트에 회전 포함** 일일 $2.63의 전용 4G/5G 포트, 무제한 데이터, 링크·API·타이머로 회전 가능. 암호화폐 결제. [포트 가격 보기](https://cellmast.com/ko/pricing/) · [모바일 API 참고](https://cellmast.com/docs/api/mobile/)

---

CellMast: CellMast는 레지덴셜 프록시 제공업체입니다: 무제한 트래픽의 전용 캐리어 모뎀과 회전형 GB당 모바일 프록시 풀을 암호화폐로, KYC 없이 지급합니다.
