下面是代码,请各位高手帮忙
int serverNameStart = picURL.indexOf("http://")+7;
int serverNameEnd = picURL.indexOf("/",serverNameStart);
String serverName = picURL.substring(serverNameStart, serverNameEnd);
String newUrl = picURL.substring(serverNameEnd);
if(newUrl.equals("/")){
newUrl = picURL;
}
System.out.println(newUrl);
Socket clientSocket = null;
clientSocket = new Socket(serverName,80);
PrintStream ps = new PrintStream(clientSocket.getOutputStream());
//设置虚假http头
ps.println("GET "+newUrl+" HTTP/1.1");
ps.println("Host:"+serverName);
ps.println("Accept:*/* ");
ps.println("Referer:www.baidu.com");
ps.println("User-Agent:Baiduspider");
ps.println("X_FORWARDED_FOR:202.108.22.5");
ps.println();
ps.flush();
InputStream is = clientSocket.getInputStream();Calendar cal = Calendar.getInstance();
java.sql.Date today = new java.sql.Date(cal.get(Calendar.YEAR)-1900,
cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH));//系统日期
String timePath = today.toString();
File picFilePath = new File("F:/collection/collection/web/pic/"+picPath+"/"+timePath);
if((!picFilePath.exists())&&(!picFilePath.isDirectory())){
picFilePath.mkdirs();
}
File picFile = new File(picFilePath.toString()+"/"+picURL.substring(picURL.lastIndexOf("/")+1));
FileOutputStream fos = new FileOutputStream(picFile);
Image image = javax.imageio.ImageIO.read(is);
int width = image.getWidth(null);
int height = image.getHeight(null);
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
bufferedImage.getGraphics().drawImage(image, 0, 0, width, height,null);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
encoder.encode(bufferedImage);
fos1.close();
int serverNameStart = picURL.indexOf("http://")+7;
int serverNameEnd = picURL.indexOf("/",serverNameStart);
String serverName = picURL.substring(serverNameStart, serverNameEnd);
String newUrl = picURL.substring(serverNameEnd);
if(newUrl.equals("/")){
newUrl = picURL;
}
System.out.println(newUrl);
Socket clientSocket = null;
clientSocket = new Socket(serverName,80);
PrintStream ps = new PrintStream(clientSocket.getOutputStream());
//设置虚假http头
ps.println("GET "+newUrl+" HTTP/1.1");
ps.println("Host:"+serverName);
ps.println("Accept:*/* ");
ps.println("Referer:www.baidu.com");
ps.println("User-Agent:Baiduspider");
ps.println("X_FORWARDED_FOR:202.108.22.5");
ps.println();
ps.flush();
InputStream is = clientSocket.getInputStream();Calendar cal = Calendar.getInstance();
java.sql.Date today = new java.sql.Date(cal.get(Calendar.YEAR)-1900,
cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH));//系统日期
String timePath = today.toString();
File picFilePath = new File("F:/collection/collection/web/pic/"+picPath+"/"+timePath);
if((!picFilePath.exists())&&(!picFilePath.isDirectory())){
picFilePath.mkdirs();
}
File picFile = new File(picFilePath.toString()+"/"+picURL.substring(picURL.lastIndexOf("/")+1));
FileOutputStream fos = new FileOutputStream(picFile);
Image image = javax.imageio.ImageIO.read(is);
int width = image.getWidth(null);
int height = image.getHeight(null);
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
bufferedImage.getGraphics().drawImage(image, 0, 0, width, height,null);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
encoder.encode(bufferedImage);
fos1.close();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货