Home  >  Article  >  Backend Development  >  PHP怎么通过URL访问,获得新的URL 【调用百度map】

PHP怎么通过URL访问,获得新的URL 【调用百度map】

WBOY
WBOYOriginal
2016-06-13 11:59:411180browse

PHP如何通过URL访问,获得新的URL 【调用百度地图】
我是想在手机微信上进行一段导航
当前导航的URL地址如果录入到IE地址栏中是能正常访问的:http://api.map.baidu.com/direction?origin=latlng:24.481428,118.124813|name:测试起点&destination=latlng:24.503361,118.139877|name:测试终点&mode=driving®ion=厦门&output=html

录入后,回车会发现地址变成了:
http://map.baidu.com/?l=&s=nav%26sn%3D1%24%24%24%2413149737.11%2C2794316.21%24%24%E6%B5%8B%E8%AF%95%E8%B5%B7%E7%82%B9%24%24%24%24%24%24%26en%3D1%24%24%24%2413151414.05%2C2796984.18%24%24%E6%B5%8B%E8%AF%95%E7%BB%88%E7%82%B9%24%24%24%24%24%24%26sc%3D194%26ec%3D194

想知道如果用PHP如何实现 根据原来的URL,请求后得到新的URL?谢谢。






------解决方案--------------------
原來的url是http://api.map.baidu.com/direction?origin=latlng:24.481428,118.124813
------解决方案--------------------
name:测试起点&destination=latlng:24.503361,118.139877
------解决方案--------------------
name:测试终点&mode=driving®ion=厦门&output=html

新的url是http://map.baidu.com/?l=&s=nav%26sn%3D1%24%24%24%2413149737.11%2C2794316.21%24%24%E6%B5%8B%E8%AF%95%E8%B5%B7%E7%82%B9%24%24%24%24%24%24%26en%3D1%24%24%24%2413151414.05%2C2796984.18%24%24%E6%B5%8B%E8%AF%95%E7%BB%88%E7%82%B9%24%24%24%24%24%24%26sc%3D194%26ec%3D194

用新的url就可以打開了,舊的不行,對嗎?

所以你想可以根據舊url獲取新url然後使用?
------解决方案--------------------
试试.

<br />$url = 'http://api.map.baidu.com/direction?origin=latlng:24.481428,118.124813<br><font color='#FF8000'>------解决方案--------------------</font><br>name:测试起点&destination=latlng:24.503361,118.139877<br><font color='#FF8000'>------解决方案--------------------</font><br>name:测试终点&mode=driving&region=厦门&output=html';<br />$newurl = getMapUrl($url);<br />echo $newurl;<br /><br />function getMapUrl($url){<br />    file_get_contents($url);<br />    $result = $http_response_header;<br />    if($result){<br />        foreach($result as $val){<br />            if(substr($val,0,10)=='Location: '){<br />                return str_replace('Location: ','', $val);<br />            }<br />        }<br />    }<br />    return '';<br />}<br />


禁用的函数:

php_real_logo_guid
php_egg_logo_guid
readlink
linkinfo
symlink
link
set_file_buffer
exec
system
escapeshellcmd
escapeshellarg
passthru
shell_exec
proc_open
proc_close
proc_terminate
proc_get_status
proc_nice
getmyuid
getmygid
getmyinode
putenv
getopt
sys_getloadavg
getrusage
get_current_user
magic_quotes_runtime
set_magic_quotes_runtime
import_request_variables
debug_zval_dump
ini_alter
dl
pclose
popen
stream_socket_client
stream_socket_server
stream_socket_accept
stream_socket_pair
stream_get_transports
stream_wrapper_restore
get_headers
mail
mb_send_mail
openlog
syslog
closelog
apc_add
apc_bin_dump
apc_bin_dumpfile
apc_bin_load
apc_bin_loadfile
apc_cache_info
apc_cas
apc_clear_cache
apc_compile_file
apc_dec
apc_define_constants
apc_delete_file
apc_delete
apc_exists
apc_fetch
apc_inc
apc_load_constants
apc_sma_info
apc_store
flock
pfsockopen
posix_kill
apache_child_terminate
apache_get_modules
apache_get_version
apache_getenv
apache_lookup_uri
apache_reset_timeout
apache_response_headers
apache_setenv
virtual
mysql_pconnect
socket_create
socket_create_pair
禁用的类:

SQLiteDatabase
SQLiteResult
SQLiteUnbuffered
SQLiteException
APCIterator

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn