منابع را واکشی کنید و با میزبان های دیگر از طریق اینترنت ارتباط برقرار کنید.
این سرویس به اسکریپت ها اجازه می دهد تا با سایر برنامه ها ارتباط برقرار کنند یا با واکشی URL به منابع دیگر در وب دسترسی پیدا کنند. یک اسکریپت می تواند از سرویس واکشی URL برای صدور درخواست های HTTP و HTTPS و دریافت پاسخ ها استفاده کند. سرویس واکشی URL از زیرساخت شبکه Google برای اهداف کارآمدی و مقیاسبندی استفاده میکند.
درخواست های ارائه شده با استفاده از این سرویس از مجموعه ای از محدوده های IP سرچشمه می گیرند. در صورت نیاز به فهرست مجاز یا تأیید این درخواستها، میتوانید فهرست کامل آدرسهای IP را جستجو کنید .
این سرویس به محدوده https://www.googleapis.com/auth/script.external_request
نیاز دارد. در بیشتر موارد Apps Script به طور خودکار محدودههای مورد نیاز یک اسکریپت را شناسایی کرده و شامل میشود، اما اگر دامنههای خود را به صراحت تنظیم میکنید، باید به صورت دستی این محدوده را برای استفاده Url Fetch App
اضافه کنید.
همچنین ببینید
روش ها
روش | نوع برگشت | شرح مختصر |
---|---|---|
fetch(url) | HTTPResponse | درخواستی برای واکشی URL می دهد. |
fetch(url, params) | HTTPResponse | درخواستی برای واکشی URL با استفاده از پارامترهای پیشرفته اختیاری می کند. |
fetch All(requests) | HTTPResponse[] | چندین درخواست برای واکشی چندین URL با استفاده از پارامترهای پیشرفته اختیاری می کند. |
get Request(url) | Object | درخواستی را که در صورت فراخوانی عملیات انجام شده است، برمی گرداند. |
get Request(url, params) | Object | درخواستی را که در صورت فراخوانی عملیات انجام می شود، برمی گرداند. |
مستندات دقیق
fetch(url)
درخواستی برای واکشی URL می دهد.
این بر روی HTTP و همچنین HTTPS کار می کند.
// The code below logs the HTML code of the Google home page. const response = UrlFetchApp.fetch('http://www.google.com/'); Logger.log(response.getContentText());
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
url | String | URL برای واکشی. URL می تواند حداکثر 2082 کاراکتر داشته باشد. |
بازگشت
HTTPResponse
- داده های پاسخ HTTP.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/script.external_request
fetch(url, params)
درخواستی برای واکشی URL با استفاده از پارامترهای پیشرفته اختیاری می کند.
این بر روی HTTP و همچنین HTTPS کار می کند.
// Make a GET request and log the returned content. const response = UrlFetchApp.fetch('http://www.google.com/'); Logger.log(response.getContentText());
// Make a POST request with form data. const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt'); const formData = { name: 'Bob Smith', email: 'bob@example.com', resume: resumeBlob, }; // Because payload is a JavaScript object, it is interpreted as // as form data. (No need to specify contentType; it automatically // defaults to either 'application/x-www-form-urlencoded' // or 'multipart/form-data') const options = { method: 'post', payload: formData, }; UrlFetchApp.fetch('https://httpbin.org/post', options);
// Make a POST request with a JSON payload. const data = { name: 'Bob Smith', age: 35, pets: ['fido', 'fluffy'], }; const options = { method: 'post', contentType: 'application/json', // Convert the JavaScript object to a JSON string. payload: JSON.stringify(data), }; UrlFetchApp.fetch('https://httpbin.org/post', options);
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
url | String | URL برای واکشی. URL می تواند حداکثر 2082 کاراکتر داشته باشد. |
params | Object | شیء اختیاری جاوا اسکریپت که پارامترهای پیشرفته را طبق تعریف زیر مشخص می کند. |
پارامترهای پیشرفته
نام | تایپ کنید | توضیحات |
---|---|---|
content Type | String | نوع محتوا (پیشفرض به 'application/x-www-form-urlencoded'). نمونه دیگری از نوع محتوا 'application/xml; charset=utf-8'. |
headers | Object | یک نقشه کلید/مقدار جاوا اسکریپت از هدرهای HTTP برای درخواست |
method | String | روش HTTP برای درخواست: get ، delete ، patch ، post یا put . پیش فرض get است. |
payload | String | بار (یعنی بدنه POST) برای درخواست. برخی از روش های HTTP (به عنوان مثال، GET) بارگذاری را نمی پذیرند. این می تواند یک رشته، یک آرایه بایت، یک حباب یا یک شی جاوا اسکریپت باشد. یک شی جاوا اسکریپت به عنوان نقشه ای از نام فیلدهای فرم به مقادیر تفسیر می شود، که در آن مقادیر می توانند رشته یا حباب باشند. |
use Intranet | Boolean | منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند. |
validate Https Certificates | Boolean | اگر false ، واکشی گواهیهای نامعتبر برای درخواستهای HTTPS را نادیده میگیرد. پیش فرض true است. |
follow Redirects | Boolean | اگر false واکشی به طور خودکار از تغییر مسیرهای HTTP پیروی نمی کند. پاسخ HTTP اصلی را برمی گرداند. پیش فرض true است. |
mute Http Exceptions | Boolean | اگر true ، واکشی استثنایی ایجاد نمی کند، اگر کد پاسخ نشان دهنده شکست باشد، و در عوض HTTPResponse را برمی گرداند. پیش فرض false است. |
escaping | Boolean | اگر نویسههای رزرو شده false در URL فرار نشوند. پیش فرض true است. |
بازگشت
HTTPResponse
- داده های پاسخ HTTP.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/script.external_request
fetch All(requests)
چندین درخواست برای واکشی چندین URL با استفاده از پارامترهای پیشرفته اختیاری می کند.
این بر روی HTTP و همچنین HTTPS کار می کند.
// Make both a POST request with form data, and a GET request. const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt'); const formData = { name: 'Bob Smith', email: 'bob@example.com', resume: resumeBlob, }; // Because payload is a JavaScript object, it is interpreted as // as form data. (No need to specify contentType; it defaults to either // 'application/x-www-form-urlencoded' or 'multipart/form-data') const request1 = { url: 'https://httpbin.org/post', method: 'post', payload: formData, }; // A request may also just be a URL. const request2 = 'https://httpbin.org/get?key=value'; UrlFetchApp.fetchAll([request1, request2]);
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
requests | Object[] | آرایهای از URLها یا اشیاء جاوا اسکریپت که درخواستهایی را که در زیر تعریف شده است، مشخص میکنند. |
پارامترهای پیشرفته
نام | تایپ کنید | توضیحات |
---|---|---|
url | String | URL برای واکشی URL می تواند حداکثر 2082 کاراکتر داشته باشد. |
content Type | String | نوع محتوا (پیشفرض به 'application/x-www-form-urlencoded'). نمونه دیگری از نوع محتوا 'application/xml; charset=utf-8'. |
headers | Object | یک نقشه کلید/مقدار جاوا اسکریپت از هدرهای HTTP برای درخواست |
method | String | روش HTTP برای درخواست: get ، delete ، patch ، post یا put . پیش فرض get است. |
payload | String | بار (یعنی بدنه POST) برای درخواست. برخی از روش های HTTP (به عنوان مثال، GET) بارگذاری را نمی پذیرند. این می تواند یک رشته، یک آرایه بایت، یک حباب یا یک شی جاوا اسکریپت باشد. یک شی جاوا اسکریپت به عنوان نقشه ای از نام فیلدهای فرم به مقادیر تفسیر می شود، که در آن مقادیر می توانند رشته یا حباب باشند. |
use Intranet | Boolean | منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند. |
validate Https Certificates | Boolean | اگر false ، واکشی گواهیهای نامعتبر برای درخواستهای HTTPS را نادیده میگیرد. پیش فرض true است. |
follow Redirects | Boolean | اگر false واکشی به طور خودکار از تغییر مسیرهای HTTP پیروی نمی کند. پاسخ HTTP اصلی را برمی گرداند. پیش فرض true است. |
mute Http Exceptions | Boolean | اگر true ، اگر کد پاسخ نشان دهنده خرابی باشد، واکشی استثنایی ایجاد نمی کند و در عوض HTTPResponse را برمی گرداند. پیش فرض false است. |
escaping | Boolean | اگر false باشد، نویسههای رزرو شده در URL حذف نمیشوند. پیش فرض true است. |
بازگشت
HTTPResponse[]
- آرایه ای از داده های پاسخ HTTP از هر درخواست ورودی.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/script.external_request
get Request(url)
درخواستی را که در صورت فراخوانی عملیات انجام شده است، برمی گرداند.
این روش در واقع درخواست را صادر نمی کند.
// The code below logs the value for every key of the returned map. const response = UrlFetchApp.getRequest('http://www.google.com/'); for (const i in response) { Logger.log(`${i}: ${response[i]}`); }
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
url | String | URL برای جستجو. URL می تواند حداکثر 2082 کاراکتر داشته باشد. |
بازگشت
Object
- نقشه ای از نام فیلد به مقدار. نقشه حداقل دارای کلیدهای زیر است: url
، method
، content Type
، payload
و headers
.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/script.external_request
get Request(url, params)
درخواستی را که در صورت فراخوانی عملیات انجام می شود، برمی گرداند.
این روش در واقع درخواست را صادر نمی کند.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
url | String | URL برای جستجو. URL می تواند حداکثر 2082 کاراکتر داشته باشد. |
params | Object | یک شی جاوا اسکریپت اختیاری که پارامترهای پیشرفته را همانطور که در زیر تعریف شده است مشخص می کند. |
پارامترهای پیشرفته
نام | تایپ کنید | توضیحات |
---|---|---|
content Type | String | نوع محتوا (پیشفرض به 'application/x-www-form-urlencoded'). نمونه دیگری از نوع محتوا 'application/xml; charset=utf-8'. |
headers | Object | یک نقشه کلید/مقدار جاوا اسکریپت از هدرهای HTTP برای درخواست |
method | String | روش HTTP برای درخواست: get ، delete ، patch ، post یا put . پیش فرض get است. |
payload | String | بار (یعنی بدنه POST) برای درخواست. برخی از روش های HTTP (به عنوان مثال، GET) بارگذاری را نمی پذیرند. این می تواند یک رشته، یک آرایه بایت، یک حباب یا یک شی جاوا اسکریپت باشد. یک شی جاوا اسکریپت به عنوان نقشه ای از نام فیلدهای فرم به مقادیر تفسیر می شود، که در آن مقادیر می توانند رشته یا حباب باشند. |
use Intranet | Boolean | منسوخ شده است. این به واکشی دستور می دهد تا URL مشخص شده را در داخل اینترانت مرتبط با دامنه شما از طریق SDC (منسوخ شده) حل کند. |
validate Https Certificates | Boolean | اگر false ، واکشی گواهیهای نامعتبر برای درخواستهای HTTPS را نادیده میگیرد. پیش فرض true است. |
follow Redirects | Boolean | اگر false واکشی به طور خودکار از تغییر مسیرهای HTTP پیروی نمی کند. پاسخ HTTP اصلی را برمی گرداند. پیش فرض true است. |
mute Http Exceptions | Boolean | اگر true ، واکشی استثنایی ایجاد نمی کند، اگر کد پاسخ نشان دهنده شکست باشد، و در عوض HTTPResponse را برمی گرداند. پیش فرض false است. |
escaping | Boolean | اگر نویسههای رزرو شده false در URL از قلم نیافتند. پیش فرض true است. |
بازگشت
Object
- نقشه ای از نام فیلد به مقدار. نقشه حداقل دارای کلیدهای زیر است: url
، method
، content Type
، payload
و headers
.
مجوز
اسکریپت هایی که از این روش استفاده می کنند نیاز به مجوز با یک یا چند مورد از حوزه های زیر دارند:
-
https://www.googleapis.com/auth/script.external_request