用纯JAVA接收对方传来的HTTP请求和发送HTTP请求

woniu4500 2011-09-02 03:37:31
请问如何用纯JAVA接收对方传来的HTTP请求和发送HTTP请求,不是用SERVLET和JSP哦,只是用java基础,如果有相关方法和文章希望推荐下,谢谢,最好有源码!
...全文
6407 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
喵勒个咪_ 2014-01-23
  • 打赏
  • 举报
回复
用套接字 很简单的吧
休谱诺斯 2011-09-05
  • 打赏
  • 举报
回复
那lz还需要用到线程来做并发啊,因为servlet之类的都已经做好了,要用socket啥的需要自己解决的,good luck!!!
softroad 2011-09-05
  • 打赏
  • 举报
回复

private static String getStaticPage(String surl) {
String htmlContent = "";
try {
java.io.InputStream inputStream;
java.net.URL url = new java.net.URL(surl);
java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url
.openConnection();
connection.connect();
inputStream = connection.getInputStream();
byte[] bytes = new byte[1024 * 2000];
int index = 0;
int count = inputStream.read(bytes, index, 1024 * 2000);
while (count != -1) {
index += count;
count = inputStream.read(bytes, index, 1);
}
htmlContent = new String(bytes, "UTF-8");
connection.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
return htmlContent.trim();
}

public static void main(String[] args) {
try {
String src = getStaticPage("http://www.google.com");
File file = new File("d:\\aa.html");
FileWriter resultFile = new FileWriter(file);
PrintWriter myFile = new PrintWriter(resultFile);// 写文件
myFile.println(src);
resultFile.close();
myFile.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

crud0906 2011-09-03
  • 打赏
  • 举报
回复
用Socket,看看how tomcat works里面,前两章有介绍的
woniu4500 2011-09-03
  • 打赏
  • 举报
回复
不是这个意思,因为项目要求是这样的
我也想用SERVLET啊,也得老大同意啥
他不提这变态需求我肯定用SERVLET搞了啊
唐三角 2011-09-02
  • 打赏
  • 举报
回复
纯java啊。。。很纠结。。。servlet就不是纯java了?纯爷们情何以堪啊。。。
  • 打赏
  • 举报
回复
这个你得自己写一个 HTTP 服务器才可以
bijanen19861113 2011-09-02
  • 打赏
  • 举报
回复
同意楼上所说..
gukuitian 2011-09-02
  • 打赏
  • 举报
回复
这样你就得自己解析 http 协议了;多麻烦
淡定的峰哥 2011-09-02
  • 打赏
  • 举报
回复
发送可以用URLConnection和apache的HttpClient
ljy66 2011-09-02
  • 打赏
  • 举报
回复
HttpURLConnection/httpClient 可以满足你的要求
tianshi1017 2011-09-02
  • 打赏
  • 举报
回复
1.用url
URL url = new URL("对方服务器")
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("GET");
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestProperty("Accept", "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");
设置请求协议
2.或用socket,一大堆的例子

ChDw 2011-09-02
  • 打赏
  • 举报
回复
你可以最直接使用
ServerSocket ss = new ServerSocket(8080);
Socket s = ss.accept();
InputStream is = s.getInputStream();


然后读取is,根据对方发送的请求作出响应


不过我不太建议你这样做,一般没有必要。你可以下载一个jetty,然后内置启动就行,参考
http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld

81,091

社区成员

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

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