接口交互时的URL带有日期格式的参数,注意拼装地址中的特殊符号(如空格等)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在接口中,为了跑增量的数据,双方定义一个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以后再转换回来。

转载于:https://my.oschina.net/wsyblog/blog/592824

你可能感兴趣的:(接口交互时的URL带有日期格式的参数,注意拼装地址中的特殊符号(如空格等))