当前位置:网站首页>node request模塊cookie使用
node request模塊cookie使用
2022-06-23 08:49:00 【An_s】
前言
很多網站都有302或者301仿爬蟲, 響應頭就會帶上set-cookie, 那我們用node如何處理呢?
開始
簡潔版
let request = require("request");
// 開啟記錄cookie,重定向時自動帶上cookie
request = request.defaults({jar: true});
function login_redirect(url) {
console.log("url: ", url);
let options = {
url: url,
method: "GET",
headers: {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.62 Safari/537.36'
},
// 重定向
followRedirect: false
}
request(options, function(error, response, body) {
console.log("...login_redirect.....");
// console.log(response.statusCode);
// console.log(response.headers);
if (response.statusCode == 302 || response.statusCode == 301) {
login_redirect(response.headers.location);
} else {
console.log("...跳轉完...");
// console.log(response);
// console.log(body);
}
});
}文件版
let request = require("request");
// 在根目錄創建cookie.json文件
const FileCookieStore = require('tough-cookie-filestore');
const cookieJsonStore = new FileCookieStore('cookies.json')
const j = request.jar(cookieJsonStore);
request = request.defaults({ jar : j })
function login_redirect(url) {
console.log("url: ", url);
let options = {
url: url,
method: "GET",
headers: {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.62 Safari/537.36'
},
// 重定向
followRedirect: false
}
request(options, function(error, response, body) {
console.log("...login_redirect.....");
// console.log(response.statusCode);
// console.log(response.headers);
if (response.statusCode == 302 || response.statusCode == 301) {
login_redirect(response.headers.location);
} else {
console.log("...跳轉完...");
// console.log(response);
// console.log(body);
}
});
}推薦版
let request = require("request");
const j = request.jar();
request = request.defaults({jar:j});
function login_redirect(url) {
console.log("url: ", url);
let options = {
url: url,
method: "GET",
headers: {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.62 Safari/537.36'
},
followRedirect: false
}
request(options, function(error, response, body) {
console.log("...login_redirect.....");
// console.log(response.statusCode);
// console.log(response.headers);
if (response.statusCode == 302 || response.statusCode == 301) {
login_redirect(response.headers.location);
} else {
console.log("...跳轉完...");
// console.log(response);
// console.log(body);
console.log("cookie為:", j.getCookieString(url))
}
});
}边栏推荐
- Flink错误--Caused by: org.apache.calcite.sql.parser.SqlParseException: Encountered “time“
- Arthas vmtool命令小结
- 2- use line segments to form graphics and coordinate conversion
- Leetcode topic analysis h-index II
- kernel log调试方法
- 【云原生 | Kubernetes篇】Kubernetes原理与安装(二)
- Restore the default routing settings of the primary network card
- Hongmeng reads the resource file
- Subsets of leetcode topic resolution
- 528. Random Pick with Weight
猜你喜欢

Summary of communication mode and detailed explanation of I2C drive

鸿蒙读取资源文件

Introduction to typescript and basic types of variable definitions

Why use growth neural gas network (GNG)?

Talk about the implementation principle of @autowired

636. Exclusive Time of Functions

【云原生 | Kubernetes篇】Kubernetes原理与安装(二)

【学习资源】理解数学和热爱数学

谈谈 @Autowired 的实现原理

【云计算】GFS思想优势以及架构
随机推荐
Why use growth neural gas network (GNG)?
Subsets of leetcode topic resolution
Unity grid programming 08
Single core driver module
[qnx hypervisor 2.2 user manual]6.2 network
Lighthouse cloud desktop experience
5、 Project management
How to evaluate code quality
Point cloud library PCL from introduction to mastery Chapter 10
65. Valid Number
【云原生 | Kubernetes篇】Kubernetes原理与安装(二)
7-palette-calayer and touch
单编内核驱动模块
'教练,我想打篮球!' —— 给做系统的同学们准备的 AI 学习系列小册
173. Binary Search Tree Iterator
C # advanced learning -- virtual method
986. Interval List Intersections
438. Find All Anagrams in a String
Balls and cows of leetcode topic analysis
Open source technology exchange batch stream integrated data synchronization engine Chunjun data restore DDL function module analysis