服务器是这样的 我们有一台服务器 虚拟出dev和test两个环境 dev是122 ,oa的是121 , test是120 , 我当时要访问121的接口
- 当时先试先使用postman 查看oa接口是否正常,如下图:
- 使用curl 模拟post请求<因为接口只支持post请求>
/**
* curl 模拟post请求带看打卡接口
*/
function curl_post($records_data){
$url = "http://oa.haozu.com/api/daikan";
$hr_id = empty($records_data['hr_id']) ? 0 : $records_data['hr_id'];
$username = empty($records_data['user_name']) ? '' : $records_data['user_name'];
$post_data = array (
"hr_id" => $hr_id,
"username" => $username ,
"checkin_time" => $records_data['check_time'],
"checkin_building_id" => $records_data['check_building_id'],
"booking_starttime" => $records_data['booking_starttime'],
"booking_endtime" => $records_data['booking_endtime'],
"booking_building_id" => $records_data['book_building_id'],
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 设置请求为post类型
curl_setopt($ch, CURLOPT_POST, 1);
// 添加post数据到请求中
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// 执行post请求,获得回复
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
- 执行了脚本发现没有返回值,查看开发机上的nginx上配置文件
发现在开发机的nginx上没有配置oa的解析文件!
- 配置上curl请求
用curl分别请求121 和 阿里云上的接口 发现了诡异的事情~说明脚本代码和接口都是没有问题的 说明问题在服务器的DNS解析上存在问题~
最后修改了120上的host文件 直接指定了120地址 至于curl的302 是什么鬼 留着心中的疑问 交给以后解决吧
谢谢大家~