| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1445 人关注过本帖
标题:java socket 保存的图片为什么打不开?问题出在哪?求大神指点
取消只看楼主 加入收藏
goddy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
java socket 保存的图片为什么打不开?问题出在哪?求大神指点
用socket保存一个网页上的验证码图片到本地,打开后显示 无法预览 是为什么啊?代码如下:
import *;
import *;
public class HTTPClient{
String host="reg.email.
int port=80;
Socket socket;
public void createSocket()throws Exception{
socket=new Socket(host, port);
}
public void communicate()throws Exception{
StringBuffer sb=new StringBuffer("GET /unireg/call.do?cmd=register.verifyCode&env=369398958183&t=1351924543383 HTTP/1.1\r\n");
sb.append("Host: reg.email.\r\n");
sb.append("Accept: */*\r\n");
sb.append("Accept-Language: zh-cn\r\n");
sb.append("Accept-Encoding: gzip, deflate\r\n");
sb.append("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n");
sb.append("Connection: Keep-Alive\r\n\r\n");
OutputStream socketOut=socket.getOutputStream();
socketOut.write(sb.toString().getBytes());
socket.shutdownOutput();
InputStream socketIn=socket.getInputStream();
ByteArrayOutputStream buffer=new ByteArrayOutputStream();
byte[] buff=new byte[1024];
int len=-1;
while((len=socketIn.read(buff))!=-1){
buffer.write(buff,0,len);
}
socket.close();
FileOutputStream fos=new FileOutputStream(new File("c:\\1.jpg"));
OutputStreamWriter osw=new OutputStreamWriter(fos);
osw.write((new String(buffer.toByteArray())).split("\r\n\r\n")[1]);
osw.flush();
osw.close();
}
public static void main(String arch[])throws Exception{
HTTPClient client=new HTTPClient();
client.createSocket();
();
}
}

求指点!!!
搜索更多相关主题的帖子: void 图片 public Socket 验证码 
2012-11-03 14:50
goddy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-3
收藏
得分:0 
回复 楼主 goddy
各位大神、高手、英雄,走过路过的,指点一下!!!
2012-11-03 16:13
goddy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-3
收藏
得分:0 
回复 3楼 shellingford
有些图片链接是https的,怎么用HttpURLConnection?指点一下
2012-11-03 16:48
goddy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-3
收藏
得分:0 
回复 3楼 shellingford
osw.write((new String(buffer.toByteArray())).split("\r\n\r\n")[1]);
就是将响头和正文分开了啊
2012-11-03 16:50
goddy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-3
收藏
得分:0 
人呢?
2012-11-04 00:48
goddy
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-11-3
收藏
得分:0 
回复 7楼 shellingford
非常好用,谢谢;顺便问一下HttpClient怎么发送https 请求?非常好用,谢谢;顺便问一下HttpClient怎么发送https 请求?
2012-11-04 16:24
快速回复:java socket 保存的图片为什么打不开?问题出在哪?求大神指点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017890 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved