在接口中,为了跑增量的数据,双方定义一个last_update字段去规定增量,如果日期的格式中带空格,则这时接口可能会调不通,为了处理这种问题,我们需要对日期进行urlencode()处理。
例如年月日这种带有空格的参数在curl_post的时候要做urlencode处理.
$task['update_time']='2015-11-20 10:09:05';
$data['last_updated'] = urlencode($task['update_time']);
用GET的方法是无法解析出来url中+、/等类似的特殊字符的,你可以通过查看$_SERVER['QUERY_STRING']和$_SERVER['argv']就可以对比出来,$_SERVER['QUERY_STRING']可以获得完整的字符串,而$_SERVER['argv']数组中就不可以。
这里提供2个思路,供参考,一个使用$_SERVER['QUERY_STRING']然后解析出你需要的字符;另外一个方法就是在传递URL前先对url进行处理,可以使用urlencode,然后再获取以后再使用urldecode,更加安全的处理是在urlencode方法前对url字符串包含的一些特殊字符进行转换,然后使用urldecode以后再转换回来。