scf-node-debug icon indicating copy to clipboard operation
scf-node-debug copied to clipboard

本地起环境,运行request报错

Open kaleai opened this issue 7 years ago • 9 comments

image

request('http://www.baidu.com', function (error, response, body) {
        if (!error && response.statusCode === 200) {
            console.log(body);
        } else {
            console.log(error)
        }
    });

kaleai avatar Aug 30 '18 01:08 kaleai

更换了请求库后,报如下错误,但没有设置任何代理:

let rpa = require('request-promise-any');
rpa('https://gank.io/api/xiandu/categories')
    .then(json => {
        console.log(json)
    });

image

kaleai avatar Aug 30 '18 10:08 kaleai

你好 麻烦把云函数启动时的配置贴一下 图2看起来是启动scf-cli时,指定了端口为80,可能引发权限问题,建议使用1024以上(不包括)端口

lou1swu avatar Sep 10 '18 03:09 lou1swu

图1应该是和本地代理设置有问题。 request库会读取当前进程空间中环境变量的http_proxy/https_proxy/HTTP_PROXY/HTTPS_PROXY来作为代理。看一下代理设置的是不是有问题哈

lou1swu avatar Sep 10 '18 08:09 lou1swu

好的,我试一下,然后再同步结果

kaleai avatar Sep 10 '18 10:09 kaleai

image

let rpa = require('request-promise-any');

exports.main = async (event, context) => {
    return rpa('https://gank.io/api/xiandu/categories');
};

结果:

image

kaleai avatar Sep 10 '18 14:09 kaleai

这里没有做什么配置,但还是指向了80,好奇怪。

请求库:https://github.com/request/request-promise-any 环境:window10 node:v8.9.1 IDE:webstorm

D:\DevProj\myCloud\cloudfunctions\debug  ([email protected])
λ npm config list -l
; cli configs
long = true
metrics-registry = "http://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.4.0 node/v8.9.1 win32 x64"

; userconfig C:\Users\46041\.npmrc
registry = "http://registry.npmjs.org/"

; builtin config undefined
prefix = "C:\\Users\\46041\\AppData\\Roaming\\npm"

; default values
access = null
allow-same-version = false
also = null
always-auth = false
audit = true
audit-level = "low"
auth-type = "legacy"
bin-links = true
browser = null
ca = null
cache = "C:\\Users\\46041\\AppData\\Roaming\\npm-cache"
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cafile = undefined
cert = null
cidr = null
color = true
commit-hooks = true
depth = null
description = true
dev = false
dry-run = false
editor = "notepad.exe"
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
git = "git"
git-tag-version = true
global = false
global-style = false
globalconfig = "C:\\Users\\46041\\AppData\\Roaming\\npm\\etc\\npmrc"
globalignorefile = "C:\\Users\\46041\\AppData\\Roaming\\npm\\etc\\npmignore"
group = 0
ham-it-up = false
heading = "npm"
https-proxy = null
if-present = false
ignore-prepublish = false
ignore-scripts = false
init-author-email = ""
init-author-name = ""
init-author-url = ""
init-license = "ISC"
init-module = "C:\\Users\\46041\\.npm-init.js"
init-version = "1.0.0"
json = false
key = null
legacy-bundling = false
link = false
local-address = undefined
loglevel = "notice"
logs-max = 10
; long = false (overridden)
maxsockets = 50
message = "%s"
; metrics-registry = null (overridden)
no-proxy = null
node-options = null
node-version = "8.9.1"
offline = false
onload-script = null
only = null
optional = true
otp = null
package-lock = true
package-lock-only = false
parseable = false
prefer-offline = false
prefer-online = false
; prefix = "D:\\Program Files\\nodejs" (overridden)
preid = ""
production = false
progress = true
proxy = null
read-only = false
rebuild-bundle = true
; registry = "https://registry.npmjs.org/" (overridden)
rollback = true
save = true
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
save-prod = false
scope = ""
script-shell = null
scripts-prepend-node-path = "warn-only"
searchexclude = null
searchlimit = 20
searchopts = ""
searchstaleness = 900
send-metrics = false
shell = "C:\\WINDOWS\\system32\\cmd.exe"
shrinkwrap = true
sign-git-commit = false
sign-git-tag = false
sso-poll-frequency = 500
sso-type = "oauth"
strict-ssl = true
tag = "latest"
tag-version-prefix = "v"
timing = false
tmp = "C:\\Users\\46041\\AppData\\Local\\Temp"
umask = 0
unicode = false
unsafe-perm = true
update-notifier = true
usage = false
user = 0
; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch}" (overridden)
userconfig = "C:\\Users\\46041\\.npmrc"
version = false
versions = false
viewer = "browser"

kaleai avatar Sep 10 '18 14:09 kaleai

还是本地代理的问题,请看看本地环境变量中的http_proxy/https_proxy/HTTP_PROXY/HTTPS_PROXY,是否设置了127.0.0.1:80为代理

lou1swu avatar Sep 13 '18 13:09 lou1swu

还是本地代理的问题,请看看本地环境变量中的http_proxy/https_proxy/HTTP_PROXY/HTTPS_PROXY,是否设置了127.0.0.1:80为代理 通过console.log(process.env)打印之后,结果如下: image 和 @tianzhijiexian 结果一样,如果访问http,就会报错: image 如果访问https,就会报错: image

sheng-di avatar Oct 13 '18 10:10 sheng-di

@378978764 代理设置有问题,http_proxy和https_proxy设置成了'undefined'(string类型),如果不用代理的话,将他们置为空字符串即可

lou1swu avatar Oct 23 '18 10:10 lou1swu