curl 本地请求获取token 非常快,200毫左右就有返回值,放到线上怎么回非常慢呢?将近10秒才返回值

yifangfei11 2018-07-23 11:20:06
现在真不知道什么原因了,怎么会差这么大呢?求大神指点迷津。
$url="http://201.61.87.182:8003/spring-oauth-server/oauth/token?client_id=8a06727bc799478988c79778c1954abc&client_secret=X5vcC5GhWi6TsVBDEmFRgwzNLJzDtezu&grant_type=password&scope=read&username=123&password=123";
//请求参数
$post_data=array(
'client_id'=>'8a06727bc799478988c79778c1954abc',
'client_secret'=>'X5vcC5GhWi6TsVBDEmFRgwzNLJzDtezu',
'grant_type'=>'password',
'scope'=>'read',
'username'=>'123',
'password'=>'123'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// post数据 设置0或1不显示或显示返回信息
curl_setopt($ch, CURLOPT_POST, 0);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// 请求结果付给一个变量
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//执行请求
$output = curl_exec($ch);
curl_close($ch);
...全文
785 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jip0303 2018-09-06
  • 打赏
  • 举报
回复
本地22s返回false
caotangjielu 2018-07-28
  • 打赏
  • 举报
回复
抓包工具了解下,抓完包后分析一下协议
游北亮 2018-07-26
  • 打赏
  • 举报
回复
通过这个shell试试,先排除一下代码问题,
如果curl特别快,可能要逐行debug代码。
理论上你这个应该不是代码问题,应该是网络之类问题。
游北亮 2018-07-26
  • 打赏
  • 举报
回复
登录到线上服务器,用shell命令行执行一下试试,比如:
curl "http://baidu.com" -X POST -d "a=1"
coding8424 2018-07-26
  • 打赏
  • 举报
回复
我本地试了一下你的代码,跑到超时(60s)也没返回响应。查了一下这个IP地址好像是巴西的,如果这是你们的合作伙伴,是否对ip做了白名单限制(白名单内的ip才能访问)?
yifangfei11 2018-07-26
  • 打赏
  • 举报
回复
本地几百毫秒,线上要10秒,这差的也太大了吧。
yifangfei11 2018-07-26
  • 打赏
  • 举报
回复
感觉很奇葩呀,本地访问他们的地址完全没问题,一到线上就不行了,实在无法理解。
yifangfei11 2018-07-26
  • 打赏
  • 举报
回复
$post_data=array(
'client_id'=>'8a06727bc799478988c79778c1954abc',
'client_secret'=>'X5vcC5GhWi6TsVBDEmFRgwzNLJzDtezu',
'grant_type'=>'password',
'scope'=>'read',
'username'=>'123',
'password'=>'123'
);
这些数据是对方给的,链接地址也是对方的,我这边只通过对方给的地址和参数,curl post 请求获取token 本地完全没问题,只要放到线上,就花费长达10秒的时间。这怎么分布测试?
luyaran 2018-07-25
  • 打赏
  • 举报
回复
可以分布来测试下,看看是哪里出现了问题
yifangfei11 2018-07-23
  • 打赏
  • 举报
回复
这个接口也比较奇葩,不让用get 请求,必须是post 请求
一生小白 2018-07-23
  • 打赏
  • 举报
回复
因素很多,带宽,服务器配置,DNS解析速度
「已注销」 2018-07-23
  • 打赏
  • 举报
回复
引用 1 楼 yifangfei11 的回复:
这个接口也比较奇葩,不让用get 请求,必须是post 请求

Curl可以发送POST请求呀,Linux命令行模式也可以的

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧