socket应用代理怎么一直出错,透过代理服务器建立连接有可能吗?

magicing 2009-02-02 10:00:14
本机通过代理服务器上网,想和外面一台有公网ip的机器建立连接,查了api以后先创建了一个proxy的对象,在socket的构造函数中有一个Socket(Proxy proxy),于是试图这样写:
Socket socket= new Socket(proxy),可是就是这句话都会报错
Exception in thread "main" java.lang.IllegalArgumentException: Invalid Proxy
at java.net.Socket.<init>(Unknown Source)
开始怀疑是proxy对象没有建立对,可是后来在URL类中用过了URLConnection uc=url.openConnection(proxy);这个方法是完全可以的而且可以得到外面网站的内容,说明这个proxy对象应该没有问题啊,所以现在不知道socket如果要应用代理应该怎么写好,怎么才能让socket和代理外的网站建立连接呢,是不是我少写了什么?

我的目的是这样,因为本地的代理服务器有些限制,所以希望绕过这台代理服务器,跟另外的服务器建立连接发送数据,socket如果能建立连接那当然是最好的,如果不行那么还有别的什么方法可以实现吗?
...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunyouyou 2009-02-05
  • 打赏
  • 举报
回复
magicing 2009-02-02
  • 打赏
  • 举报
回复
恩对的我刚才也发现了,换成socks就不出错了,可是我的代理服务器好像只支持http代理,那这样就没有办法和远程服务器建立socket连接了吗?
MT502 2009-02-02
  • 打赏
  • 举报
回复
Proxy.Type分HTTP(Represents proxy for high level protocols such as HTTP or FTP)和SOCKS(Represents a SOCKS (V4 or V5) proxy)。
你现在的代理多半是http代理吧,所以用Socket就抛异常,但是用URLConnection就可以。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧