【js逆向】请求头

本文详细介绍了Cookie的作用与使用方法,包括在会话管理中的应用;讨论了如何通过Referer防盗链以及使用代理服务器防止IP被封。重点讲解了如何利用User-Agent和设置代理进行网页抓取和安全访问。
摘要由CSDN通过智能技术生成

1、cookie

1.1 概述

首先, cookie就是保存在客户端(浏览器)上的一个字符串. 在每次发送请求时, 浏览器会自动的带上cookie的信息传递给服务器.

尤其在用户登录后, 为了能准确的获取到用户登录信息. cookie一般都会在请求是跟随请求头一起提交到服务器.

1.2 session

1.2.1 作用

保存登录状态

它能自动帮我们管理和维护cookie.

注意: 它能自动维护的只能是响应头返回的cookie. js动态添加的cookie. 它可管不了.

1.2.2 使用

import requests

# 1.创建一个session
session = requests.session()

# 2.可以提前给session设置好请求头或者cookie
session.headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36"
}

# 可用, 可不用
# session.cookies = {
#     # 可以把一些cookie的内容塞进来, 这里要的是字典
# }

# 3. 发请求

# 登录
url = "https://passport.xxx.com/ck/user/login"
data = {
    "loginName": "xxxxxx",
    "password": "xxxxxxx",
}
# requests.post(url, data=data)
# https 证书异常, 在请求参数中添加verify=False
session.post(url, verify=False, data=data)  # resp.header set-cookie
# javascript不管

# 后续的所有请求. 都会带着cookie
url = "https://user.xxx.com/ck/author/shelf?page=1&appKey=2406394919"
resp_2 = session.get(url)
# print(resp_2.text)

# 保持会话 -> session

2、防盗链

采用Referer 设置本次url来源,

headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36",
    # 防盗链,意义:本次请求是由哪个url产生的
    "Referer": url  

3、代理

3.1代理原理

        当我们反复抓取一个网站时, 由于请求过于频繁, 服务器很可能会将你的IP进行封锁来反爬. 应对方案就是通过网络代理的形式进行伪装.

        从图可以得知. 对于目标网站来说. 是通过代理服务器发送的请求. 也就可以避免你的IP被封锁了.

3.2 使用代码

import requests

headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36",
}
proxies = {
    "http": "http://223.96.90.216:8085"
}

resp = requests.get("http://www.baidu.com/s?ie=UTF-8&wd=ip", headers=headers, proxies=proxies)
resp.encoding="utf-8"
print(resp.text)

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lxtx-0510

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值