首页 > 开发 > Java > 正文

通过java.net.Socket类抓取网页内容

2024-07-13 09:55:20
字体:
来源:转载
供稿:网友

通过 java.net.socket 类访问一个web页面,并且返回结果

import java.io.*;
import java.net.*;

public class firstsocket
{
public static void main(string args[])
{

//判断参数是否为两个,正确的用法为 firstsocket 网站 页面
if(args.length!=2)
{
system.out.println("usage : firstsocket host page/r/nexample:firstsocket www.google.com /");
system.exit(0);
}
string strserver=args[0]; //取得第一个参数
string strpage = args[1]; //取得第二个参数

try
{
string hostname = strserver;
int port = 80;
inetaddress addr = inetaddress.getbyname(hostname);
socket socket = new socket(addr, port); //建立一个socket

//发送命令
bufferedwriter wr = new bufferedwriter(new outputstreamwriter(socket.getoutputstream(), "utf8"));
wr.write("get " + strpage + " http/1.0/r/n");
wr.write("host:" + strserver + "/r/n");
wr.write("/r/n");
wr.flush();

//接收返回的结果
bufferedreader rd = new bufferedreader(new inputstreamreader(socket.getinputstream()));
string line;
while ((line = rd.readline()) != null) {
system.out.println(line);
}
wr.close();
rd.close();
}
catch (exception e)
{
system.out.println(e.tostring());
}
}
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表