| hurl(1) | Hurl Manual | hurl(1) |
نام (NAME)
hurl - اجرا و آزمودن درخواستهای HTTP
خلاصه دستور (SYNOPSIS)
hurl [OPTIONS] [FILES...]
hurl --test [OPTIONS] [FILES...]
توضیحات (DESCRIPTION)
Hurl یک ابزار خط فرمانی است که درخواستهای HTTP تعریفشده در یک قالب متنی ساده را اجرا میکند.
این ابزار میتواند درخواستها را زنجیر کند، مقادیر را ضبط نماید و پرسوجوها را روی هدرها و بدنهٔ پاسخ ارزیابی کند. Hurl بسیار همهکاره است و میتواند برای دریافت دادهها و آزمودن نشستهای HTTP به کار رود: محتوای HTML، رابطهای برنامهنویسی REST / SOAP / GraphQL، یا هرگونه API مبتنی بر XML / JSON.
$ hurl session.hurl
اگر هیچ فایل ورودی مشخص نشود، ورودی از stdin خوانده میشود.
$ echo GET http://httpbin.org/get | hurl
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip",
"Content-Length": "0",
"Host": "httpbin.org",
"User-Agent": "hurl/0.99.10",
"X-Amzn-Trace-Id":
"Root=1-5eedf4c7-520814d64e2f9249ea44e0"
},
"origin": "1.2.3.4",
"url": "http://httpbin.org/get"
}
Hurl میتواند فایلها یا پوشهها را به عنوان ورودی دریافت کند. در حالت دوم، Hurl فایلهای با پسوند .hurl را بهصورت بازگشتی جستجو خواهد کرد.
خروجی بهطور پیشفرض به stdout فرستاده میشود. برای هدایت خروجی به یک فایل، از گزینهٔ -o, --output استفاده کنید:
$ hurl -o output input.hurl
بهطور پیشفرض، Hurl تمام درخواستهای HTTP را اجرا کرده و بدنهٔ پاسخ آخرین فراخوانی HTTP را در خروجی نمایش میدهد.
برای داشتن خروجی با رویکرد آزمایشی، میتوانید از گزینهٔ --test استفاده کنید:
$ hurl --test *.hurl
قالب فایل HURL (HURL FILE FORMAT)
قالب فایل Hurl بهطور کامل در https://hurl.dev/docs/hurl-file.html مستند شده است.
این قالب شامل یک یا چند درخواست HTTP است:
GET http://example.org/endpoint1
GET http://example.org/endpoint2
ضبط مقادیر (Capturing values)
یک مقدار از پاسخ HTTP میتواند در درخواستهای بعدی HTTP دوباره استفاده شود.
یک نمونهٔ متداول، کار با توکنهای CSRF است:
GET https://example.org
HTTP 200
# Capture the CSRF token value from html body.
[Captures]
csrf_token: xpath
"normalize-space(//meta[@name='_csrf_token']/@content)"
# Do the login !
POST https://example.org/login?user=toto&password=1234
X-CSRF-TOKEN: {{csrf_token}}
اطلاعات بیشتر دربارهٔ ضبط مقادیر را میتوانید در اینجا بیابید: https://hurl.dev/docs/capturing-response.html.SS "ارزیابیها (Asserts)"
پاسخهای HTTP تعریفشده در پروندهٔ Hurl برای ایجاد ارزیابیها به کار میروند. پاسخها اختیاری هستند.
در کمترین حالت، پاسخ شامل ارزیابی روی کد وضعیت HTTP است.
GET http://example.org
HTTP 301
همچنین میتواند شامل ارزیابیها روی هدرهای پاسخ باشد
GET http://example.org
HTTP 301
Location: http://www.example.org
ارزیابیهای صریح را میتوان با ترکیب یک پرسوجو و یک گزاره درج کرد
GET http://example.org
HTTP 301
[Asserts]
xpath "string(//title)" == "301 Moved"
با افزودن ارزیابیها، میتوان از Hurl بهعنوان یک ابزار آزمون برای اجرای سناریوها استفاده کرد.
اطلاعات بیشتر دربارهٔ ارزیابیها را میتوان در اینجا یافت https://hurl.dev/docs/asserting-response.html
پیکربندی (CONFIGURATION)
گزینههایی که در curl وجود دارند دقیقاً دارای همان بار معنایی هستند.
گزینههای مشخصشده در خط فرمان برای هر ورودی پروندهٔ Hurl تعریف میشوند، مگر اینکه برچسب cli-only خورده باشند (نمیتوانند در ورودی `[Options]` درخواست Hurl تعریف شوند)
برای نمونه:
$ hurl --location foo.hurl
تغییر مسیر را برای هر ورودی در `foo.hurl` دنبال خواهد کرد. همچنین میتوانید با یک بخش `[Options]` گزینهای را تنها برای یک ورودی خاص تعریف کنید. برای نمونه، این پروندهٔ Hurl:
GET https://example.org
HTTP 301
GET https://example.org
[Options]
location: true
HTTP 200
تغییر مسیر را فقط برای ورودی دوم دنبال خواهد کرد.
بیشتر گزینهها را میتوان با متغیرهای محیطی نیز تعریف کرد (مانند `HURL_INSECURE` برای --insecure). بنابراین، برای پیکربندی Hurl، سه منبع از کمترین اولویت (سادهترین برای بازنویسی) تا بیشترین اولویت (بازنویسیکنندهٔ همه) وجود دارد:
- متغیرهای محیطی (مانند: `HURL_INSECURE`)
- گزینههای خط فرمان (مانند: `--insecure`)
- گزینههای بخش Options (مانند: `insecure: true` در پرونده)
همهٔ گزینهها (ALL OPTIONS)
گزینههای HTTP (HTTP options)
- --aws-sigv4 <PROVIDER1[:PROVIDER2[:REGION[:SERVICE]]]>
-
تولید یک هدر `Authorization` با امضای AWS SigV4.
از -u, --user برای مشخص کردن Access Key Id (نام کاربری) و Secret Key (گذرواژه) استفاده کنید.
برای استفاده از اعتبارسنجی موقت نشست (مثلاً برای یک AWS IAM Role)، هدر `X-Amz-Security-Token` حاوی توکن نشست را اضافه کنید.
- --cacert <FILE>
-
پروندهٔ گواهی را برای اعتبارسنجی همتا (peer verification) مشخص میکند. پرونده ممکن است شامل چندین گواهی CA باشد و باید در قالب PEM باشد. معمولاً Hurl بهگونهای ساخته شده که از یک پروندهٔ پیشفرض برای این کار استفاده میکند، بنابراین این گزینه معمولاً برای تغییر آن پروندهٔ پیشفرض به کار میرود.
- -E, --cert <CERTIFICATE[:PASSWORD]>
-
پروندهٔ گواهی کلاینت و گذرواژه.
همچنین ببینید: --key.
- --compressed
-
درخواست یک پاسخ فشردهشده با استفاده از یکی از الگوریتمهای br، gzip، deflate و باز کردن خودکار فشردهسازی محتوا.
متغیرهای محیطی: HURL_COMPRESSED
- --connect-timeout <SECONDS>
-
حداکثر زمان بر حسب ثانیه که به برقراری اتصال Hurl اجازه داده میشود.
میتوانید واحدهای زمانی را در عبارت مهلت زمانی اتصال مشخص کنید. Hurl را طوری تنظیم کنید که با `--connect-timeout 20s` از مهلت زمانی اتصال ۲۰ ثانیه استفاده کند یا با `--connect-timeout 35000ms` آن را روی ۳۵٬۰۰۰ میلیثانیه تنظیم کنید. فاصله مجاز نیست.
همچنین ببینید: -m, --max-time.
متغیرهای محیطی: HURL_CONNECT_TIMEOUT
- --connect-to <HOST1:PORT1:HOST2:PORT2>
-
برای درخواستی به جفت HOST1:PORT1 دادهشده، در عوض به HOST2:PORT2 متصل شو. این گزینه میتواند چندین بار در یک خط فرمان استفاده شود.
همچنین ببینید: --resolve.
- --digest
-
به Hurl میگوید از احراز هویت HTTP Digest استفاده کند.
- -H, --header <NAME:VALUE>
-
افزودن یک هدر اضافی برای گنجاندن در اطلاعات ارسالی. میتواند چندین بار در یک دستور استفاده شود.
از افزودن خط جدید (newlines) یا کاراکتر بازگشت به ابتدای خط (carriage returns) خودداری کنید.
متغیرهای محیطی: HURL_HEADER='name1:value1|name2:value2' (هدرها با | از یکدیگر جدا میشوند)
- -0, --http1.0
-
به Hurl میگوید بهجای استفاده از نسخهٔ HTTP ترجیحی داخلی خود، از نسخهٔ HTTP 1.0 استفاده کند.
متغیرهای محیطی: HURL_HTTP10
- --http1.1
-
به Hurl میگوید از HTTP نسخهٔ 1.1 استفاده کند.
متغیرهای محیطی: HURL_HTTP11
- --http2
-
به Hurl میگوید از HTTP نسخهٔ 2 استفاده کند. برای HTTPS، این بدان معناست که Hurl در مصافحهٔ TLS برای HTTP/2 مذاکره میکند. Hurl این کار را بهطور پیشفرض انجام میدهد. برای HTTP، این بدان معناست که Hurl تلاش میکند با استفاده از هدر درخواست Upgrade:، درخواست را به HTTP/2 ارتقا دهد.
متغیرهای محیطی: HURL_HTTP2
- --http3
-
به Hurl میگوید نسخهٔ HTTP 3 را برای میزبانِ درون URL امتحان کند، اما در صورت ناموفق بودن برقراری ارتباط HTTP/3، به نسخههای قبلی HTTP بازگردد. HTTP/3 تنها برای HTTPS در دسترس است و برای نشانیهای HTTP فعال نیست.
متغیرهای محیطی: HURL_HTTP3
- -k, --insecure
-
این گزینه صراحتاً به Hurl اجازه میدهد اتصالات و انتقالهای SSL «ناامن» را انجام دهد.
متغیرهای محیطی: HURL_INSECURE
- -4, --ipv4
-
این گزینه به Hurl میگوید هنگام تحلیل نامهای میزبان تنها از نشانیهای IPv4 استفاده کند، و برای نمونه IPv6 را امتحان نکند.
متغیرهای محیطی: HURL_IPV4
- -6, --ipv6
-
این گزینه به Hurl میگوید هنگام تحلیل نامهای میزبان تنها از نشانیهای IPv6 استفاده کند، و برای نمونه IPv4 را امتحان نکند.
متغیرهای محیطی: HURL_IPV6
- --key <KEY>
-
نام پروندهٔ کلید خصوصی.
- --limit-rate <SPEED>
-
حداکثر سرعت انتقالی را که میخواهید Hurl هم برای بارگیریها و هم بارگذاریها استفاده کند مشخص میکند. این ویژگی در صورتی مفید است که پهنای باند محدودی دارید و میخواهید انتقال شما از تمام پهنای باندتان استفاده نکند تا آن را کندتر از حالتی کند که در غیر این صورت میبود. سرعت دادهشده بر حسب بایت بر ثانیه (bytes/second) سنجیده میشود.
متغیرهای محیطی: HURL_LIMIT_RATE
- -L, --location
-
دنبال کردن تغییر مسیر (redirect). برای محدود کردن تعداد تغییر مسیرهای قابل پیگیری از گزینهٔ --max-redirs استفاده کنید.
متغیرهای محیطی: HURL_LOCATION
- --location-trusted
-
مانند -L, --location، اما اجازهٔ ارسال نام کاربری + گذرواژه را به تمامی میزبانهایی که سایت ممکن است به آنها تغییر مسیر دهد میدهد. اگر سایتی شما را به سایتی تغییر مسیر دهد که اطلاعات احراز هویت خود را به آن ارسال میکنید (که در صورت احراز هویت HTTP Basic متن ساده است)، این عمل ممکن است رخنهٔ امنیتی ایجاد کند یا نکند.
متغیرهای محیطی: HURL_LOCATION_TRUSTED.IP "--max-filesize <BYTES> "
تعیین بیشینه اندازه یک فایل برای بارگیری بر حسب بایت. اگر فایل درخواستی بزرگتر از این مقدار باشد، فرایند انتقال آغاز نمیشود.
متغیرهای محیطی: HURL_MAX_FILESIZE
این گزینه تنها مخصوص خط فرمان است.
- --max-redirs <NUM>
-
تنظیم بیشینه تعداد مجاز برای دنبال کردن تغییرمسیرها (redirection).
بهطور پیشفرض، این محدودیت روی ۵۰ تغییرمسیر تنظیم شده است. برای نامحدود کردن آن، این گزینه را روی -1 تنظیم کنید.
متغیرهای محیطی: HURL_MAX_REDIRS
- -m, --max-time <SECONDS>
-
بیشینه زمانی بر حسب ثانیه که به یک درخواست/پاسخ اجازه میدهید طول بکشد. این همان مهلت زمانی (timeout) استاندارد است.
میتوانید واحدهای زمانی را در عبارت بیشینه زمان مشخص کنید. برای تنظیم Hurl جهت استفاده از بیشینه زمان ۲۰ ثانیه از `--max-time 20s` یا برای تنظیم آن روی ۳۵٬۰۰۰ میلیثانیه از `--max-time 35000ms` استفاده کنید. فاصله مجاز نیست.
همچنین ببینید: --connect-timeout.
متغیرهای محیطی: HURL_MAX_TIME
- --negotiate
-
به Hurl اعلام میکند که از احراز هویت Negotiate (SPNEGO) استفاده کند.
-
عدم استفاده از ذخیرهساز کوکی برای درخواستها/پاسخها در یک فایل. بهطور پیشفرض، درخواستها در یک فایل Hurl مشترک، از ذخیرهساز کوکی یکسانی استفاده میکنند؛ این گزینه موتور کوکی را غیرفعال میکند.
متغیرهای محیطی: HURL_NO_COOKIE_STORE
این گزینه تنها مخصوص خط فرمان است.
- --no-proxy <HOST(S)>
-
فهرستی از میزبانها که با ویرگول انگلیسی از یکدیگر جدا شدهاند و نباید از پروکسی استفاده کنند.
متغیرهای محیطی: no_proxy
- --ntlm
-
به Hurl اعلام میکند که از احراز هویت NTLM استفاده کند.
- --path-as-is
-
به Hurl اعلام میکند که توالیهای /../ یا /./ را در مسیر URL دادهشده پردازش نکند. بهطور معمول Hurl طبق استانداردها آنها را ادغام یا فشرده میکند، اما با تنظیم این گزینه به آن اعلام میکنید که این کار را انجام ندهد.
- --pinnedpubkey <HASHES>
-
هنگام مذاکره برای برقراری یک اتصال TLS یا SSL، کارساز گواهینامهای ارسال میکند که هویت آن را مشخص میسازد. کلید عمومی از این گواهی استخراج میشود و اگر دقیقاً با کلید عمومی ارائهشده به این گزینه مطابقت نداشته باشد، Hurl پیش از ارسال یا دریافت هرگونه داده، اتصال را لغو میکند.
- -x, --proxy <[PROTOCOL://]HOST[:PORT]>
-
استفاده از پروکسی مشخصشده.
متغیرهای محیطی: http_proxy https_proxy all_proxy
- --resolve <HOST:PORT:ADDR>
-
ارائه یک نشانی سفارشی برای یک جفت مشخص از میزبان و درگاه (port). با استفاده از این گزینه، میتوانید کاری کنید که درخواست(های) Hurl از یک نشانی تعیینشده استفاده کنند و از به کار رفتن نشانیای که در حالت عادی تحلیل (resolve) میشد، جلوگیری شود. این گزینه را نوعی جایگزین خط فرمانی برای /etc/hosts در نظر بگیرید.
- --ssl-no-revoke
-
(Windows) این گزینه به Hurl اعلام میکند که بررسیهای لغو گواهینامه را غیرفعال کند. هشدار: این گزینه امنیت SSL را کاهش میدهد و با استفاده از این پرچم، دقیقاً همین مورد را درخواست میکنید.
این گزینه تنها مخصوص خط فرمان است.
- --unix-socket <PATH>
-
(HTTP) اتصال از طریق این سوکت دامنه یونیکس (Unix domain socket)، به جای استفاده از شبکه.
- -u, --user <USER:PASSWORD>
-
افزودن سرایند احراز هویت پایهای (Basic Authentication) به هر درخواست.
متغیرهای محیطی: HURL_USER
- -A, --user-agent <NAME>
-
تعیین رشته User-Agent برای ارسال به کارساز HTTP.
متغیرهای محیطی: HURL_USER_AGENT
این گزینه تنها مخصوص خط فرمان است..SS "گزینههای خروجی (Output options)"
- --color
-
رنگآمیزی خروجی استاندارد و خطای استاندارد.
بهطور پیشفرض، Hurl پاسخ را بهصورت آراسته و رنگی نمایش میدهد. هنگام هدایت از طریق لولهها (pipes)، جریانهای استاندارد رنگی نمیشوند و با این گزینه میتوان رنگآمیزی را اجباری کرد.
متغیرهای محیطی: HURL_COLOR
این گزینه فقط مختص خط فرمان است.
- --curl <FILE>
-
برونریزی هر درخواست به فهرستی از دستورهای curl.
این گزینه فقط مختص خط فرمان است.
- --error-format <FORMAT>
-
کنترل قالب پیام خطا (بهطور پیشفرض short یا long). هنگام استفاده از long، در صورت وجود خطا، بدنهٔ پاسخ نیز ثبت میشود.
متغیرهای محیطی: HURL_ERROR_FORMAT
این گزینه فقط مختص خط فرمان است.
- -i, --include
-
گنجاندن سرآیندهای (headers) HTTP در خروجی.
این گزینه فقط مختص خط فرمان است.
- --json
-
خروجی دادن نتیجهٔ هر فایل Hurl در قالب JSON. این قالب بسیار نزدیک به قالب HAR است.
این گزینه فقط مختص خط فرمان است.
- --no-color
-
عدم رنگآمیزی خروجی استاندارد و خطای استاندارد.
متغیرهای محیطی: HURL_NO_COLOR NO_COLOR
این گزینه فقط مختص خط فرمان است.
- --no-output
-
جلوگیری از تولید خروجی. بهطور پیشفرض، Hurl بدنهٔ آخرین پاسخ را در خروجی چاپ میکند.
متغیرهای محیطی: HURL_NO_OUTPUT
این گزینه فقط مختص خط فرمان است.
- --no-pretty
-
عدم آراستن خروجی پاسخ برای انواع محتوای پشتیبانیشده (در حال حاضر فقط JSON). بهطور پیشفرض، در صورتی که خروجی استاندارد یک ترمینال باشد، خروجی آراسته میشود.
متغیرهای محیطی: HURL_NO_PRETTY
این گزینه فقط مختص خط فرمان است.
- -o, --output <FILE>
-
نوشتن خروجی در FILE بهجای stdout. در بخشهای [Options]، از '-' برای stdout استفاده کنید.
- --pretty
-
آراستن خروجی پاسخ برای انواع محتوای پشتیبانیشده (در حال حاضر فقط JSON). بهطور پیشفرض، در صورتی که خروجی استاندارد یک ترمینال باشد، پاسخ JSON آراسته و رنگی میشود؛ برای قالببندی بدون رنگ، --no-color را ببینید.
متغیرهای محیطی: HURL_PRETTY
این گزینه فقط مختص خط فرمان است.
- --progress-bar
-
نمایش نوار پیشرفت در حالت آزمایشی (test mode). نوار پیشرفت تنها در TTYهای تعاملی نمایش داده میشود. این گزینه نمایش نوار پیشرفت را حتی در TTYهای غیرتعاملی اجباری میکند.
این گزینه فقط مختص خط فرمان است.
- -v, --verbose
-
فعالسازی خروجی پرگو (verbose) بر روی جریان خطای استاندارد. برای اشکالزدایی مفید است.
خطی که با '>' آغاز میشود بهمعنای دادههای ارسالی توسط Hurl است. خطی که با '<' آغاز میشود بهمعنای دادههای دریافتی توسط Hurl است. خطی که با '*' آغاز میشود بهمعنای اطلاعات تکمیلی ارائهشده توسط Hurl است.
اگر فقط خواهان سرآیندهای HTTP در خروجی هستید، گزینهٔ -i, --include ممکن است همان گزینهای باشد که به دنبال آن میگردید.
متغیرهای محیطی: HURL_VERBOSE
- --verbosity <LEVEL>
-
تنظیم سطح پرگویی برای گزارشهای اشکالزدایی بر روی جریان خطای استاندارد (brief، verbose یا debug).
اگر فقط خواهان سرآیندهای HTTP در خروجی هستید، گزینهٔ -i, --include ممکن است همان گزینهای باشد که به دنبال آن میگردید. -v, --verbose یک نام مستعار برای `--verbosity verbose` است. --very-verbose یک نام مستعار برای `--verbosity debug` است.
متغیرهای محیطی: HURL_VERBOSITY
- --very-verbose
-
فعالسازی خروجی با پرگویی بیشتر بر روی جریان خطای استاندارد.
بر خلاف گزینهٔ --verbose، این گزینه بدنهٔ کامل درخواست و پاسخ HTTP را در خطای استاندارد میآورد. علاوه بر این، خطوطی که با '**' شروع میشوند گزارشهای اشکالزدایی libcurl هستند.
متغیرهای محیطی: HURL_VERY_VERBOSE.SS "گزینههای اجرا (Run options)"
- --continue-on-error
-
ادامه اجرای درخواستها تا انتهای فایل Hurl حتی در صورت بروز خطای ارزیابی (assert). بهطور پیشفرض، Hurl پس از وقوع خطای ارزیابی در پاسخ HTTP خارج میشود.
توجه داشته باشید که این گزینه تأثیری بر رفتار هنگام پردازش چندین فایل ورودی Hurl ندارد.
تمام فایلهای ورودی بهصورت مستقل اجرا میشوند. نتیجه یک فایل بر اجرای سایر فایلهای Hurl تأثیری نمیگذارد.
متغیرهای محیطی: HURL_CONTINUE_ON_ERROR
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --delay <MILLISECONDS>
-
تنظیم تاخیر پیش از هر درخواست (معروف به خواب یا sleep). این تاخیر برای درخواستهایی که به دلیل --retry دوباره تلاش شدهاند اعمال نمیشود. برای ایجاد فاصله زمانی میان درخواستهای تکرارشده، --retry-interval را ببینید.
میتوانید واحدهای زمانی را در عبارت تاخیر مشخص کنید. Hurl را طوری تنظیم کنید که با `--delay 2s` از تاخیر ۲ ثانیهای، یا با `--delay 500ms` از تاخیر ۵۰۰ میلیثانیهای استفاده کند. واحدهای زمانی پشتیبانیشده: ms، s، m، h. استفاده از فاصله (space) مجاز نیست.
متغیرهای محیطی: HURL_DELAY
- --from-entry <ENTRY_NUMBER>
-
اجرای فایل Hurl از ENTRY_NUMBER (شروع از ۱).
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --jobs <NUM>
-
حداکثر تعداد کارهای موازی در حالت موازی. مقدار پیشفرض (در بیشتر موارد) با تعداد فعلی پردازندهها (CPUs) مطابقت دارد. مقدار را روی ۱ تنظیم کنید تا اجرای موازی فایلها غیرفعال شود.
همچنین ببینید: --parallel.
متغیرهای محیطی: HURL_JOBS
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --no-assert
-
نادیده گرفتن تمام ارزیابیهای (asserts) تعریفشده در فایل Hurl.
متغیرهای محیطی: HURL_NO_ASSERT
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --parallel
-
اجرای موازی فایلها.
هر فایل Hurl در رشته کاری (worker thread) اختصاصی خود اجرا میشود، بدون آنکه چیزی با سایر رشتهها به اشتراک بگذارد. حالت اجرای پیشفرض بهصورت ترتیبی است. اجرای موازی بهطور پیشفرض در حالت --test است.
همچنین ببینید: --jobs.
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --repeat <NUM>
-
تکرار توالی فایلهای ورودی به تعداد NUM بار؛ مقدار -1 برای حلقه نامحدود است. با در نظر گرفتن a.hurl، b.hurl و c.hurl به عنوان ورودی، دو بار تکرار فایلهای a.hurl، b.hurl، c.hurl، a.hurl، b.hurl، c.hurl را اجرا خواهد کرد.
- --retry <NUM>
-
حداکثر تعداد تلاشهای مجدد؛ مقدار 0 برای عدم تلاش مجدد و مقدار -1 برای تلاشهای مجدد نامحدود است. در صورت وقوع هرگونه خطا (ارزیابیها، دریافتها، خطاهای زمان اجرا و غیره) تلاش مجدد صورت میگیرد.
متغیرهای محیطی: HURL_RETRY
- --retry-interval <MILLISECONDS>
-
مدت زمان بر حسب میلیثانیه بین هر تلاش مجدد. مقدار پیشفرض 1000 میلیثانیه است.
میتوانید واحدهای زمانی را در عبارت فاصله تلاش مجدد مشخص کنید. Hurl را طوری تنظیم کنید که با `--retry-interval 2s` از بازه تلاش مجدد ۲ ثانیه یا با `--retry-interval 500ms` از ۵۰۰ میلیثانیه استفاده کند. استفاده از فاصله (space) مجاز نیست.
متغیرهای محیطی: HURL_RETRY_INTERVAL
- --secret <NAME=VALUE>
-
تعریف مقدار محرمانه (secret) برای سانسور شدن از گزارشها و لاگها. پس از تعریف، مقادیر محرمانه میتوانند در هر جایی که از متغیرها استفاده میشود، به عنوان متغیر به کار بروند.
متغیرهای محیطی: HURL_SECRET_name
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --secrets-file <FILE>
-
تعریف یک فایل مقادیر محرمانه که اسرار خود را در آن تعریف میکنید.
هر مقدار محرمانه دقیقاً مشابه گزینه --secret بهصورت name=value تعریف میشود.
توجه داشته باشید که تعریف دو باره یک مقدار محرمانه باعث ایجاد خطا میشود.
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --test
-
فعالسازی حالت آزمون (test): با این گزینه، پاسخ HTTP دیگر چاپ نمیشود، پیشرفت آزمایش هر فایل Hurl گزارش میشود، و خلاصهای متنی پس از اجرای تمام فایلها نمایش داده میشود.
در حالت آزمون، فایلها بهصورت موازی اجرا میشوند. برای اجرای آزمون بهصورت ترتیبی از `--jobs 1` استفاده کنید.
همچنین ببینید: --jobs.
متغیرهای محیطی: HURL_TEST
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --to-entry <ENTRY_NUMBER>
-
اجرای فایل Hurl تا ENTRY_NUMBER (شروع از ۱). باقیمانده فایل نادیده گرفته میشود. این ویژگی برای اشکالزدایی (debugging) یک نشست سودمند است.
این یک گزینه مخصوص خط فرمان (cli-only) است.
- --variable <NAME=VALUE>
-
تعریف متغیر (نام/مقدار) جهت استفاده در الگوهای (templates) Hurl.
متغیرهای محیطی: HURL_VARIABLE_name
- --variables-file <FILE>
-
تعیین فایل ویژگیها (properties file) که متغیرهای خود را در آن تعریف میکنید.
هر متغیر دقیقاً مشابه گزینه --variable بهصورت name=value تعریف میشود.
توجه داشته باشید که تعریف دو باره یک متغیر باعث ایجاد خطا میشود.
این یک گزینه مخصوص خط فرمان (cli-only) است..SS "گزینههای گزارش (Report options)"
- --report-html <DIR>
-
تولید گزارش HTML در DIR.
اگر گزارش HTML از پیش وجود داشته باشد، با نتایج جدید آزمون بهروزرسانی خواهد شد.
این گزینه فقط مخصوص خط فرمان (cli-only) است.
- --report-json <DIR>
-
تولید گزارش JSON در DIR.
اگر گزارش JSON از پیش وجود داشته باشد، با نتایج جدید آزمون بهروزرسانی خواهد شد.
این گزینه فقط مخصوص خط فرمان (cli-only) است.
- --report-junit <FILE>
-
تولید فایل JUnit.
اگر گزارش FILE از پیش وجود داشته باشد، با نتایج جدید آزمون بهروزرسانی خواهد شد.
این گزینه فقط مخصوص خط فرمان (cli-only) است.
- --report-tap <FILE>
-
تولید گزارش TAP.
اگر گزارش FILE از پیش وجود داشته باشد، با نتایج جدید آزمون بهروزرسانی خواهد شد.
این گزینه فقط مخصوص خط فرمان (cli-only) است.
سایر گزینهها (Other options)
- -b, --cookie <FILE>
-
خواندن کوکیها از FILE (با استفاده از قالب فایل کوکی Netscape).
در ترکیب با -c, --cookie-jar، میتوانید یک فضای ذخیرهسازی کوکی را بین اجراهای متوالی Hurl شبیهسازی کنید.
این گزینه فقط مخصوص خط فرمان (cli-only) است.
- -c, --cookie-jar <FILE>
-
نوشتن کوکیها در FILE پس از اجرای نشست. این فایل با استفاده از قالب فایل کوکی Netscape نوشته خواهد شد.
در ترکیب با -b, --cookie، میتوانید یک فضای ذخیرهسازی کوکی را بین اجراهای متوالی Hurl شبیهسازی کنید.
این گزینه فقط مخصوص خط فرمان (cli-only) است.
- --file-root <DIR>
-
تنظیم دایرکتوری ریشه برای وارد کردن فایلها در Hurl. این گزینه برای فایلها در دادههای چندبخشی فرم (multipart form data)، بدنه درخواست و خروجی پاسخ استفاده میشود. هنگامی که به طور صریح تعریف نشده باشد، فایلها نسبت به دایرکتوریِ فایل Hurl سنجیده میشوند.
این گزینه فقط مخصوص خط فرمان (cli-only) است.
- --glob <GLOB>
-
مشخص کردن فایلهای ورودی که با الگوی glob دادهشده مطابقت دارند.
میتوان از چندین پرچم glob استفاده کرد. این پرچم از الگوهای رایج glob یونیکس مانند *، ? و [] پشتیبانی میکند. با این حال، برای جلوگیری از بسط تصادفی الگوهای glob توسط شل قبل از پردازش آنها توسط Hurl، باید در اطراف هر الگو از علامتهای نقلقول تکی یا دوتایی استفاده کنید.
این گزینه فقط مخصوص خط فرمان (cli-only) است.
- -n, --netrc
-
پویش فایل .netrc در دایرکتوری خانگی کاربر برای نام کاربری و گذرواژه.
همچنین --netrc-file و --netrc-optional را ببینید.
- --netrc-file <FILE>
-
مشابه --netrc، اما مسیر فایل netrc را دریافت میکند.
همچنین --netrc-optional را ببینید.
- --netrc-optional
-
مشابه --netrc، اما استفاده از .netrc را اختیاری میکند.
همچنین --netrc-file را ببینید.
- -h, --help
-
راهنمای استفاده. فهرستی از تمام گزینههای فعلی خط فرمان را به همراه توضیحی کوتاه نمایش میدهد.
- -V, --version
-
اطلاعات نسخه را چاپ میکند..SH "کدهای خروج (EXIT CODES)"
0
موفقیتآمیز.
1
شکست در تجزیه گزینههای خط فرمان.
2
خطای تجزیه فایل ورودی.
3
خطای زمان اجرا (مانند شکست در اتصال به میزبان).
4
خطای ارزیابی شرط (assert).
وبگاه (WWW)
همچنین ببینید (SEE ALSO)
curl(1) hurlfmt(1)
| 28 Apr 2026 | hurl 8.0.1 |