我将尝试发送一个cURL请求到googleapis,以获取用户信息。当我使用php脚本发送cURL请求时,需要5秒才能完成,但是,当我尝试直接从服务器发送相同的请求时,结果立即返回。
以下是我使用的php脚本:
什么可能是问题?
注意:php脚本在我通过putty发出curl命令的同一台服务器上运行。
注意2:这可能是某种DNS查找问题吗?起初,通过命令行运行相同的命令也需要大约5秒才能完成,因为www.googleapis.com不在我们的DNS服务器中。从那以后,我们手动添加了它,命令行函数运行速度更快。如果我更新服务器上的DNS信息,PHP将使用什么样的DNS信息,是否会自动更新?
注意3:dig www.googleapis.com返回以下内容:
;<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> www.googleapis.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5273 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION: ;www.googleapis.com. IN A
;; ANSWER SECTION: www.googleapis.com. 1536 IN CNAME googleapis.l.google.com. googleapis.l.google.com. 172 IN A 216.58.218.170
;; Query time: 0 msec ;; SERVER: 10.0.80.11#53(10.0.80.11) ;; WHEN: Wed Sep 9 14:35:04 2015 ;; MSG SIZE rcvd: 89
以下是我使用的php脚本:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/oauth2/v2/userinfo");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Authorization: Bearer '.$accessToken));
$output=curl_exec($ch);
这是我在putty中使用的curl命令:
curl --header "Authorization: Bearer xxxxxx" https://www.googleapis.com/oauth2/v2/userinfo
什么可能是问题?
注意:php脚本在我通过putty发出curl命令的同一台服务器上运行。
注意2:这可能是某种DNS查找问题吗?起初,通过命令行运行相同的命令也需要大约5秒才能完成,因为www.googleapis.com不在我们的DNS服务器中。从那以后,我们手动添加了它,命令行函数运行速度更快。如果我更新服务器上的DNS信息,PHP将使用什么样的DNS信息,是否会自动更新?
注意3:dig www.googleapis.com返回以下内容:
;<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> www.googleapis.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5273 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION: ;www.googleapis.com. IN A
;; ANSWER SECTION: www.googleapis.com. 1536 IN CNAME googleapis.l.google.com. googleapis.l.google.com. 172 IN A 216.58.218.170
;; Query time: 0 msec ;; SERVER: 10.0.80.11#53(10.0.80.11) ;; WHEN: Wed Sep 9 14:35:04 2015 ;; MSG SIZE rcvd: 89