首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带代理的Java Jodd Http客户端

带代理的Java Jodd Http客户端
EN

Stack Overflow用户
提问于 2014-08-29 15:20:57
回答 1查看 581关注 0票数 2

我使用Jodd Http库来连接代理:

代码语言:javascript
复制
    ProxyInfo proxyInfoObj = new ProxyInfo(ProxyType.HTTP, "10.30.56.70", 8080, "", "");
    SocketHttpConnectionProvider provider =  new SocketHttpConnectionProvider();
    provider.useProxy(proxyInfoObj);
    HttpRequest request = HttpRequest.get(url);
    request.method("GET");
    request.charset("UTF-8");
    HttpResponse response = request.open(provider).send();
    result = response.bodyText();

但是我得到了这个错误:

代码语言:javascript
复制
    jodd.http.HttpException: HTTP: Invalid code
    at jodd.http.net.HTTPProxySocketFactory.createHttpProxySocket(HTTPProxySocketFactory.java:113)
    at jodd.http.net.HTTPProxySocketFactory.createSocket(HTTPProxySocketFactory.java:32)

如果我使用SOCKS4类型,程序将挂起并且不返回任何内容。有谁可以帮我?

但我可以使用以下代码通过代理连接:

代码语言:javascript
复制
   Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.30.56.70", 8080));
    HttpURLConnection connection =(HttpURLConnection)new URL("http://tvl.csmtalk.vn/api/sms/receive").openConnection(proxy);
    connection.setDoOutput(true);
    connection.setDoInput(true);
    connection.setRequestProperty("Content-type", "text/xml");
    connection.setRequestProperty("Accept", "text/xml, application/xml");
    connection.setRequestMethod("GET");
    connection.connect();
EN

回答 1

Stack Overflow用户

发布于 2014-08-30 12:11:19

对我来说,这两个代码都挂了。当我尝试Jodd时,它挂起了,因为它不能打开到10.30.56.70:8080的代理套接字。当我试着

代码语言:javascript
复制
telnet 10.30.56.70 8080

在命令行中,它也会挂起。看起来proxy没有响应。(如果您需要更多详细信息,或者如果您想发送一些有关连接的私人数据,可以联系Jodd支持。)

顺便说一句,你不需要:

代码语言:javascript
复制
request.method("GET");
request.charset("UTF-8");

as方法已经被get()方法设置为GET,并且charset不用于请求,而是用于响应(如果服务器未设置,则设置一个)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25563430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档