2012-06-30 2 views
0

제 질문에 대한 답변을 찾으십시오. Google에서 여러 번 찾을려고했으나 해결책을 찾을 수 없었습니다.도착 호스트가 null이 아니거나 안드로이드에 대한 http get 메소드의 매개 변수로 설정되어서는 안됩니다.

우선 나는이 예외 난 내 코드에서이 코드를 추가 한 후보다

java.lang.IllegalArgumentException: Illegal character in query at index 130 

을 얻고있다.

String restUrl = URLEncoder.encode(url, "UTF-8"); 
HttpGet httpget = new HttpGet(restUrl); 

은 내가 나를이 예외에서 밖으로 해결하십시오이 예외

java.lang.IllegalStateException: Target host must not be null, or set in parameters. 

을 얻고있다. 부디.

여기 내 코드입니다.

답변

0

Android: howto parse URL String with spaces to URI object?

당신해야 "잘못된"문자에서는 URLEncode 사실이다. 문자열에는 실제로 완전한 URL이 포함되어 있기 때문에 URL 인코딩이 어렵습니다. 어떤 슬래시를 고려해야하는지, 어떤 슬래시를 고려해야하는지 모릅니다. 미리 원시 문자열을 예측할 수는 없습니다. 문제는 더 높은 차원에서 해결되어야합니다. 그 끈은 어디에서 왔는가? 하드 코딩 되었습니까? 그런 다음 적절하게 변경하십시오. 사용자 입력으로 제공됩니까? 이를 확인하고 오류를 표시하여 사용자가 스스로 해결하도록하십시오.

+0

친절한 답변을 보내 주셔서 감사합니다. 내 URL에이 index.php? 또한 인코딩됩니까? –

+0

나는 문제를 일으킬 마지막 부분 만 인코딩해야한다는 의미인가? –

+0

예 .. URI uri = 새 URI (string.replace ("", "% 20")); 링크를 참조하십시오 –