首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点请求ip地址与远程ip地址不同

节点请求ip地址与远程ip地址不同
EN

Stack Overflow用户
提问于 2017-04-01 02:08:56
回答 1查看 548关注 0票数 1

我有一个使用node和request的应用程序。它一直工作得很好,直到今天,我不知道为什么,但它停止工作。我试图对一个特定的页面执行一个简单的request.get(),它向我发送了一个超时错误,但是lib试图访问的地址与远程地址不同。由于某些原因,节点请求似乎没有将url转换为适当的ip。

请求调用:

代码语言:javascript
复制
request.get({
    url: 'http://www.website.to.request.com:8000/login.aspx',
    headers: headers,
}

节点错误消息:

代码语言:javascript
复制
address:"200.200.00.00"
code:"ETIMEDOUT"
 errno:"ETIMEDOUT"
message:"connect ETIMEDOUT 200.200.00.00:8000"
port:8000
stack:"Error: connect ETIMEDOUT 200.200.00.00:8000
    at Object.exports._errnoException (util.js:1022:11)
    at exports._exceptionWithHostPort (util.js:1045:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)" syscall:"connect"

chrome调试中的请求:

代码语言:javascript
复制
Request URL:http://www.website.to.request.com:8000/login.aspx
Request Method:GET
Status Code:200 OK
Remote Address:201.11.11.111:8000
Referrer Policy:no-referrer-when-downgrade

注意:如果我尝试访问:201.11.11.111:8000/login.aspx,它可以工作,但使用200.200.00.00:8000不能工作。

如果我尝试使用https://www.hurl.it/并传递url和content-type来获取页面内容;

有人知道这个请求是错的吗??

EN

回答 1

Stack Overflow用户

发布于 2017-04-03 15:07:15

你可以尝试在requestjs调用之前硬编码一个DNS请求,然后你可以用你得到的ip来设置请求url。

这是可以用来执行DNS查找的api:https://nodejs.org/api/dns.html

请记住,您可以使用dns.setServers来硬编码一些dns服务器('8.8.8.8','8.8.4.4‘用于google DNS)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43147087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档