【问题标题】:UrlFetch, No responseUrlFetch,无响应
【发布时间】:2017-12-19 04:43:13
【问题描述】:

我正在尝试在 google-apps-script 中使用 UrlFetchApp.fetch 获取 URL。

这是我的代码:

function myFunction() {
    var response = UrlFetchApp.fetch("https://www.fastlane.co.il/Mobile.aspx",
                                         {muteHttpExceptions:true});
    Logger.log(response.getContentText());
}

我在代码的每一行都设置了一个断点,并从调试器开始。但是当我到达第二行时,“response”变量中没有任何内容,“continue”按钮只是让我留在这条线上,就像它一直是循环线一样。

如果我将 URL 更改为“https://www.google.com”,一切正常。

如果我将 URL 更改为“https://www.google.com/not-a-real-page”,则会出现预期异常。

但是对于需要的 URL 一点也不例外。

我做错了什么?

【问题讨论】:

  • 首先在“fastlane.co.il/Mobile.aspx”服务中查看您的回复,然后在此处打印您的回复。
  • fastlane.co.il/Mobile.aspx 没有响应刚刚从浏览器地址栏中尝试的任何内容,需要很长时间,应用脚本 url 获取没有问题
  • @NitinDhomse 很奇怪,我可以从以色列成功进入这个URL(来自不同的地方和IP)。也许它仅限于以色列 IP... 1. 我如何检查它? 2. 这种情况下可以使用代理吗?
  • 好的,但是您应该验证一下,您是否收到了响应,如果收到了,那么您也可以在应用脚本 url 获取中获得它。
  • @NitinDhomse 如果我只是运行脚本,我会收到一个不可用的 URL 错误(或类似的东西,我已经翻译了错误文本,因为它在我的谷歌帐户中不是英文的),但是如果我运行调试器并开始按下继续按钮,我没有收到任何错误。当脚本到达 UrlFetchApp 行时,该行的行为就像在无限循环中一样。

标签: google-apps-script


【解决方案1】:

如果 url 阻止了来自您所在国家/地区以外的 IP,那么可能需要考虑 URL 提取的来源。它很可能源自 Google 在加利福尼亚州帕洛阿尔托的服务器。我也无法从我在韩国的网络浏览器访问该网站。我会说该网站正在阻止来自美国的电话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多