java - commons io 403 for URL but httpclient is ok -
commons io code :
string resulturl = string.format(google_recognizer_url, urlencoder.encode("hello", "utf-8"), "en-us"); uri uri = new uri(resulturl); byte[] resultio = ioutils.tobytearray(uri); i got exception:
exception in thread "main" java.io.ioexception: server returned http response code: 403 url: http://translate.google.cn/translate_tts?ie=utf-8&q=hello&tl=en-us&total=1&idx=0&textlen=3 @ sun.net.www.protocol.http.httpurlconnection.getinputstream(httpurlconnection.java:1436) @ org.apache.commons.io.ioutils.tobytearray(ioutils.java:654) @ org.apache.commons.io.ioutils.tobytearray(ioutils.java:635) @ org.apache.commons.io.ioutils.tobytearray(ioutils.java:617) @ com.renren.intl.soundsns.simsimi.speech.ttsclient.impl.googlettsclient.main(googlettsclient.java:70) but when utilize httpclient, result ok.
string resulturl = string.format(google_recognizer_url, urlencoder.encode(text, "utf-8"), "en-us"); httpclient client = new httpclient(); getmethod g = new getmethod(resulturl); client.executemethod(g); byte[] resultbyte = g.getresponsebody(); how happened?
thanks in advance :)
maven dependencies:
<dependency> <groupid>commons-io</groupid> <artifactid>commons-io</artifactid> <version>2.4</version> </dependency> <dependency> <groupid>commons-httpclient</groupid> <artifactid>commons-httpclient</artifactid> <version>3.1</version> </dependency>
jon skeet right!
for me in case of java.net.url jvm pass next headers:
user-agent: java/1.7.0_10 host: translate.google.cn accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 connection: keep-alive in case of apache httpclient:
user-agent: djakarta commons-httpclient/3.1 host: translate.google.cn and if change, user agent java.net.url:
system.setproperty("http.agent", "jakarta commons-httpclient/3.1"); request successful, without http 403.
looks 403 error if user-agent start with: java. user agent pattern java.* throws 403 error. if utilize pattern .+java.* ok.
java http httpclient http-status-code-403 apache-commons-io
No comments:
Post a Comment