---
title: "تنظیم پروکسی در Postman، گام‌به‌گام"
description: "شیوه تعریف پروکسی اختصاصی در Postman، استفاده از پروکسی سیستم و افزودن احراز هویت را گام‌به‌گام توضیح می‌دهیم؛ همراه راه‌حل خطاهای رایج اتصال."
url: https://proxynet.io/fa/blog/postman-proxy
date: 2026-09-13
author: "Acar Diveroli"
category: "یکپارچه‌سازی, آموزش‌ها"
lang: fa
---

# تنظیم پروکسی در Postman، گام‌به‌گام

Postman را معمولاً برای آزمودن یک API باز می‌کنید و درخواست مستقیم از رایانه شما خارج می‌شود. اما گاهی درخواست باید از آدرس IP دیگری بیاید: API به درخواست‌های یک کشور خاص پاسخ متفاوتی می‌دهد، شبکه شرکت فقط از طریق پروکسی اجازه دسترسی به اینترنت می‌دهد یا دارید محدودیت IP یک یکپارچه‌سازی را می‌آزمایید. Postman دو راه برای این کار دارد: استفاده از تنظیم پروکسی سیستم‌عامل یا تعریف پروکسی ویژه خود Postman.

در این نوشته توضیح می‌دهیم Postman تنظیمات پروکسی را کجا نگه می‌دارد، چگونه گام‌به‌گام پروکسی اختصاصی تعریف کنید، نام کاربری و رمز را چگونه بیفزایید و چگونه مطمئن شوید پروکسی واقعاً کار می‌کند. سپس فهرست استثنا، رایج‌ترین خطاهای اتصال و استفاده از پروکسی با Newman در خط فرمان را بررسی می‌کنیم.

> **نکته: پاسخ کوتاه**
>
> در برنامه دسکتاپ Postman روی نماد چرخ‌دنده بالا سمت راست بزنید و **Settings > Proxy** را باز کنید. **Use custom proxy configuration** را روشن کنید، نوع پروکسی را انتخاب کنید و `server:port` را وارد کنید؛ اگر احراز هویت لازم است، **Proxy auth** را روشن کنید و نام کاربری و رمز را بنویسید. سپس یک درخواست GET به `https://httpbin.org/ip` بفرستید و بررسی کنید IP برگشتی آدرس پروکسی باشد.

## Postman چگونه از پروکسی استفاده می‌کند؟

Postman درخواست‌های API را از درون برنامه دسکتاپ می‌فرستد. اینکه این درخواست‌ها از پروکسی بگذرند یا نه را تنظیمات زبانه **Settings > Proxy** تعیین می‌کند. بر اساس [مستندات پروکسی Postman](https://learning.postman.com/docs/getting-started/installation/proxy/) دو گزینه برای فرستادن درخواست از طریق پروکسی وجود دارد:

- **پروکسی سیستم (Use the system proxy):** Postman تنظیم پروکسی سیستم‌عامل و متغیرهای محیطی `HTTP_PROXY`، `HTTPS_PROXY` و `NO_PROXY` را به کار می‌برد. اگر همه برنامه‌های رایانه از قبل از یک پروکسی می‌گذرند، کاربردی است.
- **پروکسی اختصاصی (Use custom proxy configuration):** مستقل از سیستم‌عامل برای Postman پروکسی تعریف می‌کنید. اگر فقط می‌خواهید آزمون‌های API از پروکسی بگذرند و مرورگر و برنامه‌های دیگر دست‌نخورده بمانند، گزینه درست همین است.

بر اساس مستندات، اگر هر دو گزینه روشن باشد Postman پروکسی اختصاصی را به کار می‌برد. برای جلوگیری از سردرگمی پیشنهاد می‌کنیم گزینه‌ای را که استفاده نمی‌کنید خاموش نگه دارید.

رابط Postman ممکن است میان نسخه‌ها تغییر کند. نام منوها و فیلدهای این نوشته از مستندات فعلی Postman پیروی می‌کند؛ در نسخه دیگری ممکن است تفاوت‌های کوچکی ببینید.

## چگونه پروکسی اختصاصی تعریف کنیم؟

1. برنامه دسکتاپ Postman را باز کنید، روی **نماد چرخ‌دنده** بالا سمت راست بزنید و به **Settings** بروید.
2. در پنجره‌ای که باز می‌شود به زبانه **Proxy** بروید.
3. در بخش فرستادن درخواست‌ها، **Use custom proxy configuration** را روشن کنید.
4. در **Use proxy for** انتخاب کنید پروکسی برای کدام ترافیک به کار رود. تقریباً همه APIها HTTPS هستند، پس مطمئن شوید HTTPS انتخاب شده است؛ علامت زدن هر دو گزینه امن‌ترین انتخاب است.
5. در **Proxy server** ابتدا پروتکل را انتخاب کنید. برای APIهای وب معمولاً **HTTP** کافی است. اگر از پروکسی SOCKS5 استفاده می‌کنید، **SOCKS5H** را انتخاب کنید تا resolve نام دامنه در سمت پروکسی انجام شود.
6. در همان سطر آدرس و پورت سرور پروکسی را وارد کنید، مثلاً `pr.proxynet.io` و `8000`.
7. اگر پروکسی نام کاربری و رمز می‌خواهد، گام‌های بخش بعد را دنبال کنید.
8. تنظیمات خودکار ذخیره می‌شوند. پنجره را ببندید و برای آزمون یک درخواست بفرستید.

| فیلد | مقدار نمونه | توضیح |
|---|---|---|
| Use custom proxy configuration | روشن | پروکسی ویژه Postman را فعال می‌کند |
| Use proxy for | HTTP و HTTPS | کدام درخواست‌ها از پروکسی بگذرند |
| Proxy server: پروتکل | HTTP یا SOCKS5H | HTTP برای APIهای وب، SOCKS5H برای SOCKS با DNS از راه دور |
| Proxy server: میزبان | `pr.proxynet.io` | آدرس پروکسی در پنل شما |
| Proxy server: پورت | `8000` | پورت پروتکل انتخاب‌شده |
| Proxy auth | روشن یا خاموش | اگر نام کاربری و رمز لازم باشد روشن |
| Username و Password | اطلاعات ورود پنل | اگر لیست سفید IP دارید خالی |
| Proxy bypass | `localhost,127.0.0.1` | آدرس‌هایی که نباید از پروکسی بگذرند |

مستندات Postman یادآوری می‌کند که از طریق پروکسی SOCKS فقط درخواست‌های HTTP و HTTPS را می‌توان فرستاد. برای انواع دیگر درخواست مانند WebSocket یا gRPC باید رفتار پروکسی را جداگانه بیازمایید.

## چگونه احراز هویت را بیفزاییم؟

دو راه برای اتصال به پروکسی وجود دارد: با نام کاربری و رمز، یا با افزودن آدرس IP رایانه‌تان به فهرست مجاز در پنل. دو روش و امنیت آن‌ها را در [احراز هویت پروکسی: نام کاربری و رمز یا لیست سفید IP](/fa/blog/proxy-authentication-methods) مقایسه کرده‌ایم.

**با نام کاربری و رمز:**

1. در زبانه Proxy، **Proxy auth** را روشن کنید.
2. اطلاعات ورود پنل را در فیلدهای **Username** و **Password** وارد کنید.
3. رمز را در این فیلدها **همان‌طور که هست و بدون کدگذاری** بنویسید. کدگذاری‌هایی مانند `%40` که برای رمز درون آدرس لازم است اینجا لازم نیست؛ Postman اطلاعات ورود را از فیلدهای جداگانه برمی‌دارد و هدر `Proxy-Authorization` را خودش می‌سازد.

**با لیست سفید IP:**

1. با پروکسی خاموش، آدرس IP عمومی رایانه‌تان را پیدا کنید. فرستادن یک درخواست GET به `https://api.ipify.org` در Postman کافی است.
2. این آدرس را در پنل مشتری به فهرست IPهای مجاز بیفزایید.
3. در Postman گزینه **Proxy auth** را خاموش بگذارید.

اگر IP اتصال خانگی شما تغییر کند، لیست سفید پس از مدتی از کار می‌افتد؛ در این حالت رفتن به نام کاربری و رمز کم‌زحمت‌تر است.

## چگونه از کار کردن پروکسی مطمئن شویم؟

پس از ذخیره تنظیمات، برای دیدن اینکه درخواست واقعاً از پروکسی می‌گذرد، درخواستی به آدرسی بفرستید که IP شما را برمی‌گرداند.

1. زبانه درخواست تازه‌ای باز کنید و متد را **GET** بگذارید.
2. در نوار آدرس `https://httpbin.org/ip` را بنویسید و روی **Send** بزنید.
3. به مقدار `origin` در بدنه پاسخ نگاه کنید.

```json
{
  "origin": "203.0.113.25"
}
```

این مقدار باید IP خروجی پروکسی باشد. اگر IP خودتان را دیدید، درخواست از پروکسی نمی‌گذرد؛ بررسی کنید کلید پروکسی اختصاصی روشن است و HTTPS در **Use proxy for** انتخاب شده است.

برای دیدن جزئیات یک درخواست، **Postman Console** را باز کنید (دکمه **Console** در نوار پایین). کنسول هدرهای فرستاده‌شده، زمان پاسخ و متن کامل هر خطای اتصال را نشان می‌دهد. هنگام اشکال‌زدایی، نخستین جایی است که باید نگاه کنید. اگر می‌خواهید با ابزاری مستقل از Postman ببینید درخواست واقعاً چگونه از دستگاه شما بیرون می‌رود، می‌توانید یک پروکسی MITM محلی را در میان بگذارید؛ راه‌اندازی آن را در نوشته [پروکسی MITM چیست؟](/fa/blog/mitm-proxy) توضیح داده‌ایم.

همین بررسی را در خط فرمان هم می‌توانید انجام دهید. اگر درخواستی در Postman کار نمی‌کند، آزمودن همان پروکسی با cURL زود نشان می‌دهد مشکل در تنظیمات Postman است یا در پروکسی:

```bash
curl -x "http://user:pass@pr.proxynet.io:8000" https://httpbin.org/ip
```

اگر cURL کار کند و Postman نه، مشکل در تنظیمات Postman است. اگر cURL هم ناموفق باشد، اطلاعات ورود پروکسی یا شبکه خود را بررسی کنید. گزینه‌های پروکسی cURL در [استفاده از پروکسی با cURL](/fa/blog/curl-proxy) آمده است.

## فهرست استثنا به چه کار می‌آید؟

فیلد **Proxy bypass** فهرستی از آدرس‌ها با جداکننده ویرگول انگلیسی می‌گیرد که نباید از پروکسی بگذرند. بیش از همه در این وضعیت‌ها لازم است:

- **سرور توسعه محلی.** وقتی API خود را روی `localhost:3000` می‌آزمایید، فرستادن درخواست به پروکسی معنایی ندارد؛ پروکسی به آدرسی در شبکه محلی شما دسترسی ندارد.
- **سرویس‌های داخلی.** سرویس‌های داخلی در بلوک `10.0.0.0` یا با نام‌های `.local`.
- **سرورهای احراز هویت.** اگر سرویسی که از آن توکن می‌گیرید محدودیت IP ندارد و فقط درخواست اصلی API باید از پروکسی بگذرد.

مقدار نمونه:

```text
localhost,127.0.0.1,*.company.local,10.0.0.5
```

آدرس‌های محلی که فراموش کنید به فهرست استثنا بیفزایید، هنگام روشن بودن پروکسی timeout می‌شوند یا به صفحه خطای پروکسی می‌رسند.

## آزمودن پاسخ‌های API بر اساس موقعیت

یکی از رایج‌ترین دلیل‌های استفاده از پروکسی در Postman، دیدن پاسخ API به درخواست‌هایی از کشورهای مختلف است. سرویس قیمت‌گذاری ممکن است واحد پول، API محتوا زبان و کاتالوگ و سرویس پرداخت روش‌های پشتیبانی‌شده را بر اساس کشور مبدأ درخواست تغییر دهد.

روالی کاربردی برای این آزمون‌ها:

1. برای هر کشور اطلاعات پروکسی جداگانه آماده کنید.
2. در Postman برای هر کشور یک **Environment** بسازید و واحد پول، زبان و مقدارهای مورد انتظار دیگر را به‌صورت متغیر نگه دارید.
3. تنظیم پروکسی را به نقطه خروج کشوری که می‌آزمایید تغییر دهید.
4. در زبانه **Tests** درخواست، بررسی‌ای بنویسید که مقدار مورد انتظار را مقایسه کند.

```javascript
pm.test("Currency matches the country", () => {
  const body = pm.response.json();
  pm.expect(body.currency).to.eql(pm.environment.get("expectedCurrency"));
});
```

تنظیم پروکسی Postman برای کل برنامه اعمال می‌شود، نه برای هر Environment. هنگام عوض کردن کشور باید آدرس پروکسی را هم در صفحه Settings تغییر دهید. اگر به‌طور منظم کشورهای فراوانی را می‌آزمایید، خودکارسازی با Newman که پایین‌تر آمده کاربردی‌تر است. ساختار آزمون محلی‌سازی در صفحه [راه‌حل محلی‌سازی](/fa/localization) و سناریوهای کلی آزمون برنامه در صفحه [راه‌حل آزمون برنامه](/fa/app-testing) آمده است.

اگر هر آزمون IP خروجی متفاوتی لازم دارد، می‌توان از [پروکسی چرخشی](https://proxynet.io/fa/rotating-proxy) استفاده کرد که بدون تغییر آدرس در هر اتصال IP تازه‌ای می‌دهد. اگر IP باید در سراسر آزمون ثابت بماند، آدرس ثابت انتخاب کنید.

## خطاهای رایج و راه‌حل‌ها

| خطا یا نشانه | علت محتمل | راه‌حل |
|---|---|---|
| `407 Proxy Authentication Required` | نام کاربری یا رمز نادرست، IP در لیست سفید نیست | اطلاعات Proxy auth را دوباره وارد کنید؛ IP لیست سفید را بررسی کنید |
| `tunneling socket could not be established` | پروکسی ساخت تونل را رد کرده؛ معمولاً 407 یا پورت نادرست | مقدار `statusCode` را در کنسول ببینید؛ پورت و پروتکل را بررسی کنید |
| `ECONNREFUSED` | آدرس یا پورت نادرست، پروکسی روی آن پورت گوش نمی‌دهد | نام سرور و پورت را با پنل مقایسه کنید |
| `ETIMEDOUT` یا انتظار طولانی | فایروال شبکه شما پورت پروکسی را مسدود کرده | همان اتصال را با cURL بیازمایید؛ با مدیر شبکه صحبت کنید |
| `unable to get local issuer certificate` | پروکسی سازمانی بازرسی TLS انجام می‌دهد | گواهی CA شرکت را در Settings > Certificates بیفزایید |
| IP برگشتی IP خودتان است | پروکسی اختصاصی خاموش است یا برای HTTPS فعال نشده | کلید و انتخاب **Use proxy for** را بررسی کنید |
| درخواست‌های `localhost` timeout می‌شوند | آدرس‌های محلی به پروکسی فرستاده می‌شوند | `localhost,127.0.0.1` را به فهرست استثنا بیفزایید |

**نکته‌ای درباره بررسی SSL.** راه‌حلی که در اینترنت فراوان پیشنهاد می‌شود خاموش کردن **SSL certificate verification** در صفحه Settings است. فوروارد پروکسی معمولی ترافیک HTTPS را درون تونل `CONNECT` جابه‌جا می‌کند و به گواهی‌ها دست نمی‌زند، پس با پروکسی استاندارد نباید خطای گواهی بگیرید. اگر می‌گیرید، چیزی در میانه ترافیک را رمزگشایی می‌کند. افزودن گواهی آن سامانه به‌جای خاموش کردن بررسی، نمی‌گذارد یک مشکل امنیتی واقعی از چشمتان بیفتد.

معنای کلی کدهای وضعیت HTTP و منطق تلاش دوباره در [کدهای وضعیت HTTP در وب اسکرپینگ](/fa/blog/http-status-codes-web-scraping) آمده است.

## استفاده از پروکسی در خط فرمان با Newman

Newman که برای اجرای مجموعه‌های Postman در خط لوله CI یا کارهای زمان‌بندی‌شده به کار می‌رود، تنظیمات پروکسی برنامه دسکتاپ را نمی‌خواند. [README مربوط به Newman](https://github.com/postmanlabs/newman) می‌گوید برای پروکسی از متغیرهای محیطی استاندارد `HTTP_PROXY`، `HTTPS_PROXY` و `NO_PROXY` استفاده می‌کند.

در لینوکس و macOS:

```bash
export HTTPS_PROXY="http://user:pass@pr.proxynet.io:8000"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1"

newman run collection.json -e environment-de.json
```

در Windows PowerShell:

```powershell
$env:HTTPS_PROXY = "http://user:pass@pr.proxynet.io:8000"
$env:HTTP_PROXY = $env:HTTPS_PROXY
$env:NO_PROXY = "localhost,127.0.0.1"

newman run collection.json -e environment-de.json
```

چون آدرس درون متغیر محیطی یک URL است، نویسه‌هایی مانند `@`، `:` یا `/` در رمز باید کدگذاری شوند: `@` به‌صورت `%40` نوشته می‌شود.

اسکریپتی که کشورهای مختلف را به نوبت می‌آزماید، می‌تواند همان مجموعه را با تغییر متغیر محیطی و فایل Environment در هر بار اجرا کند:

```bash
#!/usr/bin/env bash
set -euo pipefail

for country in de fr tr; do
  export HTTPS_PROXY="http://user-${country}:pass@pr.proxynet.io:8000"
  newman run collection.json -e "environment-${country}.json" --reporters cli,junit \
    --reporter-junit-export "result-${country}.xml"
done
```

قالب `user-${country}` فقط یک نمونه است؛ اینکه کشور با نام کاربری، پورت دیگر یا از پنل انتخاب شود به ارائه‌دهنده بستگی دارد. قالب درست را در پنل مشتری می‌یابید. اگر از ابزار خط فرمان تازه‌تر Postman یعنی Postman CLI استفاده می‌کنید، تنظیمات پروکسی را در مستندات خود آن ببینید.

## کاربردها

- **تیمی که رفتار API را بر اساس موقعیت می‌آزماید:** همان مجموعه را با نقاط خروج در کشورهای مختلف اجرا می‌کند. برای APIهای وب [پروکسی HTTPS](https://proxynet.io/fa/https-proxy) کافی است.
- **توسعه‌دهنده‌ای که یکپارچه‌سازی محدود به IP را تأیید می‌کند:** اگر طرف مقابل فقط درخواست‌های یک IP ثابت مشخص را می‌پذیرد، Postman را از پروکسی با همان IP عبور می‌دهد و پیش از انتشار، یکپارچه‌سازی را می‌آزماید.
- **کاربر در شبکه سازمانی:** اگر شرکت فقط از طریق پروکسی اجازه دسترسی به اینترنت می‌دهد، گزینه پروکسی سیستم کافی است؛ با بازرسی TLS، گواهی شرکت افزوده می‌شود.
- **تیم تضمین کیفیت که رفتار محدودیت نرخ را بررسی می‌کند:** می‌بیند API به درخواست‌های پیاپی از یک IP چگونه پاسخ می‌دهد و آیا هدر `Retry-After` را درست برمی‌گرداند.

## راهنمای انتخاب

| وضعیت شما | پیشنهاد |
|---|---|
| کل رایانه از قبل از پروکسی می‌گذرد | پروکسی سیستم |
| فقط درخواست‌های Postman باید از پروکسی بگذرند | پیکربندی پروکسی اختصاصی |
| APIهای وب را می‌آزمایید | پروتکل HTTP |
| از پروکسی SOCKS5 استفاده می‌کنید | SOCKS5H (DNS از راه دور) |
| اتصال خانگی با IP پویا | نام کاربری و رمز با Proxy auth |
| سرور محلی هم آزموده می‌شود | `localhost,127.0.0.1` در فهرست استثنا |
| اجرای مجموعه‌ها در خط لوله CI | Newman همراه متغیر محیطی `HTTPS_PROXY` |
| خطای گواهی می‌گیرید | به‌جای خاموش کردن بررسی، گواهی CA را بیفزایید |

## پرسش‌های متداول

### آیا برنامه وب Postman تنظیمات پروکسی دارد؟

بر اساس مستندات Postman، پروکسی پیش‌فرض خود Postman در برنامه وب قابل پیکربندی نیست؛ برای فرستادن درخواست‌ها گزینه‌های پروکسی سیستم یا پروکسی اختصاصی به کار می‌روند. برنامه دسکتاپ برای دیدن و کنترل همه تنظیمات در یک صفحه کاربردی‌تر است.

### آیا می‌توان فقط برای یک مجموعه پروکسی تعریف کرد؟

در برنامه دسکتاپ تنظیم پروکسی برای کل برنامه اعمال می‌شود و به تفکیک مجموعه یا Environment تعریف نمی‌شود. اگر مجموعه‌های مختلف پروکسی‌های متفاوت لازم دارند، دادن متغیر محیطی متفاوت به Newman در هر اجرا تمیزترین راه است.

### آیا روشن بودن پروکسی بر همگام‌سازی Postman اثر می‌گذارد؟

Postman برای ترافیک خودش که با حساب شما همگام می‌شود و برای درخواست‌های API که می‌فرستید تنظیمات جداگانه نگه می‌دارد. تنظیمی که در این نوشته آمده برای درخواست‌هایی است که شما می‌فرستید.

### رمز من نویسه خاص دارد. آیا آن را درون آدرس بنویسم؟

در برنامه دسکتاپ Postman رمز را بدون کدگذاری در فیلد **Password** بنویسید. در Newman رمز درون URL متغیر محیطی قرار می‌گیرد، پس `@`، `:` و `/` باید کدگذاری شوند.

### چرا درخواست‌هایم با پروکسی کندتر شدند؟

هر درخواست یک ایستگاه بیشتر دارد و وقتی نقطه خروج پروکسی از APIای که می‌آزمایید دور باشد، تفاوت محسوس می‌شود. نشانگر زمان پاسخ Postman و کنسول نشان می‌دهند زمان صرف اتصال شده یا پاسخ سرور.

### SOCKS5 انتخاب کنم یا HTTP؟

اگر از Postman فقط درخواست‌های API از نوع HTTP و HTTPS می‌فرستید، پروکسی HTTP کافی است و کمترین دردسر را دارد. اگر فقط پروکسی SOCKS5 دارید، گزینه SOCKS5H را به کار ببرید. سازوکار SOCKS را در [پروکسی SOCKS5: چطور کار می‌کند و چه فرقی دارد](/fa/blog/socks5-proxy-101) توضیح داده‌ایم.

## خلاصه

در Postman پروکسی در زبانه **Settings > Proxy** تنظیم می‌شود؛ یا با استفاده از تنظیم سیستم‌عامل یا با پیکربندی ویژه Postman. برای پروکسی اختصاصی سرور، پورت و پروتکل را وارد کنید و اگر احراز هویت لازم است، رمز را بدون کدگذاری در فیلد خودش بنویسید. تنظیم را با درخواستی به `https://httpbin.org/ip` تأیید کنید، آدرس‌های محلی را به فهرست استثنا بیفزایید و در خط لوله CI برای Newman از متغیر محیطی `HTTPS_PROXY` استفاده کنید. برای سازوکار کلی پروکسی [سرور پروکسی چیست و چگونه کار می‌کند؟](/fa/blog/what-is-a-proxy-server) و برای پلن‌های متناسب با آزمون‌های API، [خدمات پروکسی ما](/fa/proxy) را ببینید.
