2012-04-29 11 views
-1
<?php 

この部分では、ジオコードを逆にする緯度を指定します。2番目のcURLが機能していない、宛先がサーブレットで、動作していない

$ch = curl_init("http://maps.google.com/maps/api/geocode/json?latlng=39.784268,-98.393555&sensor=false"); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$return = curl_exec($ch); 
curl_close($ch); 
$geoOutput = json_decode($return, true); 

$data = current($geoOutput); 
echo $data; 

その後、私はサーブレットにコンテンツを渡したいが、例示の目的のために私は通りや郵便番号を埋め込まれました。 生成されたurlは次のようなものですが、実行するとcurlでは何も起こりません。しかし、貼り付けをコピーすると、ブラウザのコードが正常に実行されます。私は8080が、何もポートを指定するには、書き込もうとしました

?> 

$urlse="http://136.145.116.30:8080/AccidentDetailsInserter?latitude=18.209&longitude=-67.139&frontal_damage=1&left_damage=1&right_damage=0&back_damage=0&smoke_detected=0&flipped=0&maxforce=7&roll=0&pitch=0&yaw=0&device_id=47&street=Calle Caobos&city= Mayagüez&state=PR&zip= 00680"; 

echo $urlse; 

    $ch = curl_init(); 
     $timeout = 5; 
     curl_setopt($ch,CURLOPT_URL,$urlse); 
     curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
     curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
     $data = curl_exec($ch); 
     curl_close($ch); 
     echo $data; 

は、ここでは、出力は空白です。

+1

「動作しない」問題の非常に悪い説明です。たとえば、あなたの質問はまったく問題なく、FAQが私たちに信じさせるように、作業中の質問をサイトから削除しないでください。私はあなたが望んでいないことを願っています。あなたがそれを改善すれば、これが閉じられない可能性があります。 – hakre

+0

また、問題が2番目のCURLにある場合、なぜ多くのコードを貼り付けますか? 2番目のCURLフォーム以外はすべて削除しますので、どのコードが問題であるかが明確です。 – hakre

+0

ハンドル '/ var' $ ch 'はcurl_exec()の前に評価されますか? – trickyzter

答えて

0

あなたの2番目のURLは、URLエンコードする必要があり、スペースや他のエスケープ文字が含まれています。ブラウザに貼り付けると、ブラウザがそれを修正します。 CURLはそうではありません。

代わりstreet=Calle Caobosまたは他のそのようなパラメータの、あなたはstreet=Calle%20Caobosを送信する必要があります。構築しているすべてのパラメータに対してurlencode()を使用してください。

編集:ここに欠けているいくつかのことがありました、ここにいくつかの作業コードは次のとおりです。

$urlse="http://136.145.116.30/AccidentDetailsInserter?latitude=18.209&longitude=-67.139&frontal_damage=1&left_damage=1&right_damage=0&back_damage=0&smoke_detected=0&flipped=0&maxforce=7&roll=0&pitch=1&yaw=0&device_id=47&street=CalleCaobos&city=SanJuan&state=PR&zip=00926"; 
echo $urlse; 

    $ch = curl_init(); 
     $timeout = 10; 
     curl_setopt($ch,CURLOPT_URL,$urlse); 
     curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
     curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
     curl_setopt($ch, CURLOPT_MAXREDIRS, 5); 
     curl_setopt($ch, CURLOPT_PORT, 8080); 
     $data = curl_exec($ch); 
     curl_close($ch); 
     echo $data; 
+0

私はそれをしましたが、動作していません – user1343215

+0

送信しようとしている新しいURLを投稿できますか? –

+0

136.145.116.30%3A8080%2FAccidentDetailsInserter%3Flatitude%3D18.209%26longitude%3D-67.139%26frontal_damage%3D1%26left_damage%3D1%26right_damage%3D0%26back_damage%3D0%26smoke_detected%3D0%26fipped%3D0%26maxforce%3D7%26roll %3D0%26pitch%3D0%26yaw%3D0%26device_id%3D47%26street%3DCalle + Caobos%26city%3D + Mayag%C3%BCez%26state%3DPR%26zip%3D + 00680 – user1343215

関連する問題