ホームページ >バックエンド開発 >PHPチュートリアル >PHP はどのように URL 経由でアクセスし、新しい URL を取得しますか [Baidu マップの呼び出し]

PHP はどのように URL 経由でアクセスし、新しい URL を取得しますか [Baidu マップの呼び出し]

WBOY
WBOYオリジナル
2016-06-13 11:59:411252ブラウズ

PHP で URL アクセスして新しい URL を取得する方法 [百度地図を呼び出す]
モバイル WeChat でナビゲーションを実行したい
現在のナビゲーションの 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=Xiamen&output=html

入力後 Enter を押すと、アドレスが次のように変更されたことがわかります:
http://map.baidu.com/?l=&s=nav&sn=1$$$$13149737.11,2794316.21$$テスト開始point$$$$$$ &en=1$$$$13151414.05,2796984.18$$テスト エンドポイント$$$$$$&sc=194&ec=194

PHP を使用して新しい URL を取得する方法を知りたい元の URL に基づいてリクエストしますか?ありがとう。






-----解決策------ - -
元の URL は http://api.map.baidu.com/direction?origin=latlng:24.481428,118.124813
------解決策--- -- ----------------
name:テスト開始点&目的地=latlng:24.503361,118.139877
-----解決策-- -- ----------------
名前: test endpoint&mode=driving®ion=Xiamen&output=html

新しい URL は http://map.baidu です。 com/?l=&s=nav&sn=1$$$$13149737.11,2794316.21$$テスト開始点$$$$$$&en=1$$$$13151414.05,2796984.18$$テスト終了点$$$$$$&sc =194&ec =194

新しい URL では開けますが、古い 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
popopen
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
sys log
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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。