You can't encode a domain name. The problem is not the ö
its the GetMethod("http://thedömain.com/<http://xn--thedmain-q4a.com/>.
That is not a valid url format. Which is why you got this:
java.lang.IllegalArgumentException: Invalid uri
Invalid characters will give you an invalid character error.
If you want to use IDNA format I would think it should be
GetMethod("http://xn--thedmain-q4a.com/")
On Tue, Jan 25, 2011 at 4:15 PM, Minhaj <[email protected]> wrote:
> Hi All,
>
> I'm using httpclient 3.1 and getting exception while using fetching domain
> which contains umlaut in it find the code & stack trace bellow:
>
> Code
> ==
> @Test
> public void test01() throws HttpException, IOException{
> HttpClient theClient = new HttpClient();
> GetMethod get = new
> GetMethod("http://thedömain.com/<http://xn--thedmain-q4a.com/>
> ");
> theClient.executeMethod(get);
> }
>
> Stack Trace
> ==
> java.lang.IllegalArgumentException: Invalid uri
> 'http://thedömain.com/<http://xn--thedmain-q4a.com/>':
> Invalid authority
> at
> org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:222)
> at
> org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89)
> at de.crawler.loader.utils.UrlTest.test01(UrlTest.java:15)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
> at
> org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
> at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
> at
> org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
> at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
> at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> at
> org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
> at
> org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> at
> org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> at
> org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> at
> org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> at
> org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>
> Please advise me to prevent from such situation.
>
>
> Regards
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]