Java爬虫(一)利用GET和POST发送请求,获取服务器返回信息

本文介绍了使用Java实现网络爬虫,通过GET和POST方法发送请求来获取服务器数据的过程。首先,通过UC浏览器和Fiddler分析请求信息,特别是知乎登录后的GET请求Header。接着,删除无用的Header并构造请求,只保留必要的COOKIE。然后,展示了如何使用Java代码发送GET请求,并探讨了发送POST请求时设置Request Body的方法。
摘要由CSDN通过智能技术生成

本人所使用软件

  • eclipse
  • fiddle
  • UC浏览器

分析请求信息

以知乎(https://www.zhihu.com)为例,模拟登陆请求,获取登陆后首页,首先就是分析请求信息。
用UC浏览器F12,点击Network,按F5刷新。使用自己账号登陆知乎后,点www.zhihu.com网址后,出现以下界面

这里写图片描述
在General中,看到请求方式是GET,在fiddle里请求构造中,方法选定GET。
下拉后,看到Request Header,将里面所有的内容复制下来,粘贴到fiddle的请求构造里
这里写图片描述

这里写图片描述

点击Execute,在fiddle中点击访问的网址,点击嗅探,点击下方的TextView,发现并没有显示内容

这里写图片描述

删除部分无用的Request Header,点击Execute,发现返回数据成功!

这里写图片描述
这里写图片描述

发送请求信息,获取数据

从以上的分析可以知道,访问知乎需要的Request Header,只需要有COOKIE就足够了,因此,我们将请求构造里帮我们格式化的内容,复制到txt文件内

文件名为(requestheader.txt)

接下来就是使用Java发送请求信息了。发送请求信息很简单,就直接贴出代码共同讨论。

package Main;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.util.HashMap;
import java.util.Map;

import Utils.HttpUtils;
import Utils.HttpUtils.OnVisitingListener;
import Utils.StreamUtils;
import Utils.StreamUtils.OnGetStringListener;

public class Main {
public static void main(String[] args) {
// 获取网页数据
getWebData();
// 设置参数
// 得到返回数据
}

private static void getWebData() {
    HttpUtils httpUtils = HttpUtils.newInstance();
    httpUtils.set
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值