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

이 부분에서는 지리 코드를 역순으로 위도를 제공합니다.두 번째 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은 다음과 같습니다. 그러나 url을 실행하면 말풍선에 아무런 변화가 없습니다. 그러나 붙여 넣기를 복사하면 브라우저의 코드가 성공적으로 처리됩니다. 내가 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

또한 두 번째 CURL에 문제가있는 경우 왜 많은 코드를 붙여 넣으시겠습니까? 두 번째 CURL 양식을 제외한 모든 것을 제거하므로 문제가있는 코드가 무엇인지 명확하게 알 수 있습니다. – hakre

+0

/var '$ ch'핸들이 curl_exec() 이전에 평가되는 것은 무엇입니까? – trickyzter

답변

0

두 번째 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 % 26 % 3D % 26 % 3D % 26 % 3D % 26 % 3DC % + 26 % 3DCal + Caobos % 26City % 3D + Mayag % C3 % BCez % 26state % 3DPR % 26zip % 3D + 00680 – user1343215

관련 문제