【js逆向】请求头

发布时间:2024年01月12日

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)

文章来源:https://blog.csdn.net/weixin_38996079/article/details/135541308
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。