Hi David, Check this out => http://www.denic.de/en/domains/internationalized-domain-names/idn-list.html?cHash=3486f26050ac1dc3cbe6f5842dc70494
And there are several domains registered online which contains umlauts e.g. http://müller.de/ <http://xn--mller-kva.de/> Regards Minhaj On Wed, Jan 26, 2011 at 2:11 AM, David Motes <[email protected]> wrote: > You can't encode a domain name. The problem is not the ö > its the GetMethod("http://thedömain.com/ <http://xn--thedmain-q4a.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/>< > http://xn--thedmain-q4a.com/> > > "); > > theClient.executeMethod(get); > > } > > > > Stack Trace > > == > > java.lang.IllegalArgumentException: Invalid uri > > 'http://thedömain.com/ <http://xn--thedmain-q4a.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 > > >
