(转)php-curl响应慢(开发微信授权登陆时碰到的问题)

最近在做一个php小项目的时候,发现curl调用微信的授权api.weixin.qq.com,经常是需要等待很久,但是有时候却很快。

刚开始以为是网络慢问题,没去注意。后面通过打上时间日志观察发现,慢的时候基本是在5秒。既然那么有规律了,那肯定是有某个问题的。

http请求的初始过程是什么呢?dns解析。

通过ping和wget命令,发现确实在域名解析的那个过程很慢。所以,最终在host直接写死域名,解决了这个问题。

为什么是5秒呢?

我们知道配置dns服务的地址在/etc/resolv.conf。

通过man resolv.conf可以找到

timeout:n
                           sets the amount of time the resolver will wait for
                           a response from a remote name server before retry-
                           ing the query via a different name server.  Mea-
                           sured in seconds, the default is RES_TIMEOUT (see
                           <resolv.h> ).

查看/usr/include/resolv.h 可以找到这行代码 # define RES_TIMEOUT                5        /* min. seconds between retries */

问题是解决了,但是却引申出了很多知识点。

dns的解析默认超时时间是5秒

网上说,有可能是开启了ipv6却没有给这个域名分配ipv6的地址,通过查看vim /etc/modprobe.conf,发现没有开启ipv6功能。

查看域名的解析过程有dig命令

时间: 2024-08-02 15:14:08

(转)php-curl响应慢(开发微信授权登陆时碰到的问题)的相关文章

微信授权登陆

一.前沿:很多时候,我们都需要开发微信功能来实现我们的项目的功能逻辑,微信授权登陆方面的肯定也不少,所以我就封装了个简单的方法来实现,以方便后面使用. 二.流程文档 微信开发者文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432 大概就是5个步骤: 1 :用户同意授权,获取code 2 :通过code换取网页授权access_token 3 :刷新access_token(如果需要) 4 :拉取用户信息(需sco

微信授权登陆接入第三方App(步骤总结)Android。

这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移植到app上的话就需要微信授权登陆了. 目前移动应用上微信登录只提供原生的登录方式,需要用户安装微信客户端才能配合使用.也就是如果第三方应用需要微信授权登陆的话就必须在本机上安装了微信.而后续授权登陆或调用接口之类的相当于app和微信两个应用之间通话. 1.首先需要注册微信开放平台,然后获取开发者认证.审批通过之后再创建一个移动应用同样还是

微信授权登陆接入第三方App(步骤总结)Android

微信授权登陆接入第三方App(步骤总结)Android

微信授权登陆遇到的那些坑

第一次玩这个,发个今天遇到的大坑大家高兴高兴.今天做微信授权登陆,那叫一个水深火热啊,一直遇到这个问题 编译出现错误:linker command failed with exit code 1 本宝宝各种百度,网上说的一个比较全的是 http://www.cocoachina.com/bbs/read.php?tid=268353,然而没有一个适合我.我一步一步按微信官方文档做的就是一直报错,可是官网提供的例子却很顺利的运行,我也是醉了.被逼无奈之下直接把例子里的.a文件替换了官网提供的.a文

微信小程序开发 - 用户授权登陆

准备:微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/dev/index.html 开发:在开发之初,我们需要先明确微信方已经制定好的授权登陆流程,参看 官方API - 登陆接口. 你会看到微信方为开发者制定好的登陆授权流程: 如图,即为一个顺向的用户登陆授权的流程.

微信公众平台开发——微信授权登录(OAuth2.0)

1.OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据.每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频).这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们

微信授权登陆获取用户信息

根据微信api和自己实际项目开发: 1 public function getuserinfo() 2 { 3 if (isset($_GET['code'])) { 4 //获取access_token openid refresh_token 5 $url1 = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $this->appid . '&secret=' . $this->secret . '&

微信授权登陆绑定

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4a1da83332cf1cb6&redirect_uri=https://www.grande-health.com/mp/1.html&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect 1.获取用户唯一识别码code(后台获取) // 获取用户唯一识别码 code

vue 微信授权解决方案

背景 vue前后端分离开发微信授权2018-08-14更新时隔四个月第一次更新,因为项目重构有一次接触到了微信授权,思路已经比原来清晰的多了,将重新修改一下整个文章 场景 app将商品分享到微信朋友圈或者分享给微信好友,用户点击页面时进行微信授权登陆,获取用户信息.问题:没有固定的h5应用首页,回调不能到index.授权后重定向url带参数并且很长 本人愚钝,开发过程中,尝试过很多方法,踩坑不足以形容我的心情,可以说每一次都是一次跳井的体验啊. 1.一开始尝试的方式是前端请求微信连接,返回cod