2014-04-04 2 views
1

내가 스크립트로 GET으로 parameteris를 보내려고 해요,하지만 난이 오류 메시지가 표시됨 : 나는 일부를 볼문제 httpget 연결

String url = "http://www.myurl.com/~or/senddata.php?paramDevice={deviceInfo}&paramVersion={osversion}"; 
String encodedUrl = URLEncoder.encode(url,"UTF-8"); 
HttpClient httpclient = new DefaultHttpClient(); 
httpclient.execute(new HttpGet(encodedUrl)); 

: 이것은 내 코드입니다

java.lang.IllegalStateException: Target host must not be null, or set in parameters. scheme=null, host=null, path=http://www.myurl.com/~or/senddata.php?paramDevice={deviceInfo}&paramVersion={osversion} 

을 이 예외가있는 다른 질문이지만 클래스와 복잡한 메서드에 대해서는 매우 큰 답변이 있습니다. 그리고이 두 매개 변수를 스크립트에 보내는 최소한의 httpget 연결을 원합니다. 나는이 코드에이 대답들을 맞출 수 없다.

내 코드에서 내가 뭘 잘못하고 있니?

감사합니다.

답변

2

당신 만이 아닌 전체 URL 매개 변수를 인코딩해야합니다 : 다음과 같이 수행

String url = "http://www.myurl.com/~or/senddata.php?paramDevice="+URLEncoder.encode("{deviceInfo}")+"&paramVersion="+URLEncoder.encode("{osversion}"); 
    try { 
     HttpClient httpclient = new DefaultHttpClient(); 
     httpclient.execute(new HttpGet(url)); 

    } catch (UnsupportedEncodingException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

에 내가 그것을했고, 지금은 얻을 해달라고 예외,하지만 내 PHP 스크립트는 아무것도받지 못하고 .... 왜? – NullPointerException

+0

URL에 문제가 있다고 생각합니다. ENCODE – NullPointerException

+0

새로운 질문을 엽니 다. 문제가 해결되면 대답을 수락하십시오. 감사합니다. . – kAnNaN

0

요청에 따라 호스트를 지정하십시오.

URIBuilder builder = new URIBuilder(); 

builder.setHost("myhost.com").setPath("/views"); 

URI uri = builder.build(); 

HttpGet httpget = new HttpGet(uri); 
+0

URIBuilder가 해결 될 수없는 \t 유형 – NullPointerException