如何解决部署到heroku后无法访问/解析外部网页
我的应用程序在本地主机上按预期工作,但是当部署到 heroku 时,我正在解析的外部页面返回访问被拒绝错误。
这是heroku上外部页面的响应(我无法在本地设置中复制它):
2021-01-26T23:16:37.537084+00:00 app[web.1]: [
2021-01-26T23:16:37.537127+00:00 app[web.1]: '<HTML><HEAD>',2021-01-26T23:16:37.537128+00:00 app[web.1]: '<TITLE>Access Denied</TITLE>',2021-01-26T23:16:37.537129+00:00 app[web.1]: '</HEAD><BODY>',2021-01-26T23:16:37.537129+00:00 app[web.1]: '<H1>Access Denied</H1>',2021-01-26T23:16:37.537129+00:00 app[web.1]: ' ',2021-01-26T23:16:37.537133+00:00 app[web.1]: `You don't have permission to access "http://www.pcso.gov.ph/SearchLottoResult.aspx" on this server.<P>`,2021-01-26T23:16:37.537140+00:00 app[web.1]: 'Reference #18.89112017.1611702997.802e1a8',2021-01-26T23:16:37.537141+00:00 app[web.1]: '</BODY>',2021-01-26T23:16:37.537141+00:00 app[web.1]: '</HTML>',2021-01-26T23:16:37.537141+00:00 app[web.1]: ''
2021-01-26T23:16:37.537142+00:00 app[web.1]: ]
async function file_get_contents(uri,callback) {
let res = await fetch(uri,{ credentials: 'include' }),value = await res.text();
return callback ? callback(value) : value;
}
我正在使用这样的方法:
const pages = (url,callback) => {
file_get_contents(url)
.then(res => {
let page = res.replace(/\t+/gm,'').split('\n')
console.log(page)
// other codes
URL 设置如下:
app.get('/pages',async (req,res) => {
await pages(`https://www.pcso.gov.ph/SearchLottoResult.aspx`,(err,data) => {
if (err) {
return response.send({
err
})
}
res.send(data)
})
})
有没有办法在heroku上进一步调试这个问题或在本地主机上复制这个问题?我正在使用 heroku local web
运行该应用程序,但仍然无法重现该问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。