curl 域名解析,如何查看自己的外网域名

阅读(79)发布于 2023-09-25

curl获取网页被拒绝求助 如果开启了IPv6,curl默认会优先解析IPv6,在对应域名没有IPv6的情况下,会等待IPv6dns解析失败timeout之后才按以前的正常流程去找IPv4 原因: 在程序中我对curl获取内容都作了较为严格的超时限制,所以就会造成无法获取内容的问题。php的curl设置方法如下: 复制代码代码如下:

配图

用域名访问的时候捏,首先服务器要去找到域名对应的IP,从访问来讲,最后还是用IP访问的,超时的话应该DNS解析这个域名的时候超时了,要不就是你的DNS有问题,你换一个DNS试试,要不就是你的这个域名不对,你试下直接解析

nslookupbaidu.com

上面命令可以直接将解析的Ip返回的,

nslookupbaidu.com180.76.76.76

这条后面是指定用哪个DNS解析,如果不加就是用本机指定的DNs解析的

还要到空间的控制面板中将域名和空间绑定。域名和主机两方面都要设置,一个设置解析,一个设置绑定。

如果开启了IPv6,curl默认会优先解析IPv6,在对应域名没有IPv6的情况下,会等待IPv6dns解析失败timeout之后才按以前的正常流程去找IPv4

原因:

在程序中我对curl获取内容都作了较为严格的超时限制,所以就会造成无法获取内容的问题。

解决方法:设置默认访问为ipv4。

php的curl设置方法如下:

复制代码代码如下:

<?php

/**

*IPV6下curl超时问题

*/

$ch=curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

//设置curl默认访问为IPv4

if(defined('CURLOPT_IPRESOLVE')&&defined('CURL_IPRESOLVE_V4')){

curl_setopt($ch,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);

}

//设置curl请求连接时的最长秒数,如果设置为0,则无限

curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);

//设置curl总执行动作的最长秒数,如果设置为0,则无限

curl_setopt($ch,CURLOPT_TIMEOUT,$timeout*3);

$file_contents=curl_exec($ch);

curl_close($ch);

注:curl_setopt($ch,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4)只有在php版本5.3及以上版本,curl版本7.10.8及以上版本时,以上设置才生效。

由于再做域名解析的时候,一般需要设置指向到一个公网地址。所以只知道网卡内网IP是不行的。

百度搜索查询法

通过百度打开输入ip查询可以查看当前电脑出口的上网IP(如果IP是动态的,这个IP可能随时都会变化)

IP网站查询法

除此之外,专业查询出口IP的网站有很多。类似ip138和ip.cn等。不过建议ip138查询的比较准确。

路由器上查询外网IP

刚刚说到的查询公网IP的方法,对于网页上查询可能也会出现错误呢。那么其实最简单的是我们登陆上网的网关设备,路由器上查看连接状态。WAN口显示的IP或拨号IP就是上网的外网IP啦

Linux系统查询上网公网IP

以上都是通过上网图形界面查看上网IP的。其实很多服务器用的是linuxunix系统是图形界面。看不到公网ip呢,怎么查看呢

输入curlifconfig.me命令即可查看.

以上就是关于curl 域名解析的解答,如果对你有帮助,不妨关注本站,本站将为你整理更多内容。