如题,我想用java模仿浏览器向服务器发请求
我检测到浏览器是发送类似以下形式的请求:
GET /server.asp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)
Host: 172.16.9.243
Connection: Keep-Alive那么我们能不能用java的Socket给服务器发这样东西并得到返回结果,我写了程序是可以发送的,但是就是得不到返回结果,请问是什么问题。附部分程序(数组reqstr就是上面写的类似浏览器的请求):
Socket s=new java.net.Socket("172.16.9.243",80);
BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);for(int i=0;i<reqstr.length;i++)
out.println(reqstr[i]);
str=in.readLine();
System.out.println(str);
我检测到浏览器是发送类似以下形式的请求:
GET /server.asp HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)
Host: 172.16.9.243
Connection: Keep-Alive那么我们能不能用java的Socket给服务器发这样东西并得到返回结果,我写了程序是可以发送的,但是就是得不到返回结果,请问是什么问题。附部分程序(数组reqstr就是上面写的类似浏览器的请求):
Socket s=new java.net.Socket("172.16.9.243",80);
BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out=new PrintWriter(s.getOutputStream(),true);for(int i=0;i<reqstr.length;i++)
out.println(reqstr[i]);
str=in.readLine();
System.out.println(str);
解决方案 »
- 在GridBagLayout布局下如何调整按钮的大小????
- java中继承有什么缺点
- Java中怎么得到窗口左上角的坐标
- 初学者的请教:JAVA能够如何实现图片(image)的存取吗?
- 腾讯过大年,六位数的QQ不要要钱,点击马上申请!
- 关于剔除非法字符串的问题,请高手进。
- 初级问题,关于public的
- swing 绘图问题
- java 中如何用SQL 查时间区间???急!!!!!
- java下载运行不了
- http://www.andykhan.com/jexcelapi/无法上,谁能发一个最新的jxl.jar给我,我的email是:[email protected],谢谢
- 正在做课程设计,有几个问题需要解决~~
*
*/
public void sendurl(String urlstr_send){
URL url = null;
try{
url = new URL(urlstr_send);
}catch(MalformedURLException e){
System.err.println(e.toString());
System.exit(1);
}
try{
InputStream ins = url.openStream();
BufferedReader breader = new BufferedReader(new InputStreamReader(ins));
info = breader.readLine();
System.out.println(info);
tf.jTextArea3.append(info+"\n");
}catch(IOException e){
System.err.println(e.toString()+"发送失败");
System.exit(1);
}
}
/**得到发送返回的值
*
* @return
*/
public String[] getSendReturn(){
String returnInfo[] = new String[2];
returnInfo[0] = info.substring(info.indexOf("dest_no")+9,info.indexOf("state")-2);
returnInfo[1] = info.substring(info.indexOf("state")+7,info.indexOf("state")+8);
System.out.println(returnInfo[0]);
System.out.println(returnInfo[1]);
tf.jTextArea3.append(returnInfo[0]+"\n");
tf.jTextArea3.append(returnInfo[1]+"\n");
return returnInfo;
}