📅  最后修改于: 2023-12-03 15:34:13.767000             🧑  作者: Mango
当我们使用Python进行网络请求时,经常需要获取响应的cookie信息。获取所有cookie的方法如下所示:
import requests
response = requests.get('https://www.example.com')
cookies = response.cookies
for cookie in cookies:
print(cookie.name, cookie.value)
以上代码使用requests库发送一个get请求,获取响应中的所有cookie。将返回的cookies对象赋值给变量cookies,并使用for循环逐个输出cookie的name和value属性。
但是需要注意的是,如果请求的网站设置了HttpOnly标志,上述代码将无法获取到这些cookie。此时需要使用其他方法获取。
在TypeScript中,我们可以使用以下示例中的代码来获取所有cookie:
import axios from 'axios';
axios.get('https://www.example.com').then((response) => {
const cookies = response.headers['set-cookie'];
if (cookies) {
for (const cookie of cookies) {
const [name, value] = cookie.split(';')[0].split('=');
console.log(name, value);
}
}
}).catch((error) => {
console.log(error);
});
以上代码使用axios库发送一个get请求,获取响应头中的所有cookie。将返回的cookie字符串数组赋值给变量cookies,并使用for循环逐个输出cookie的name和value属性。
值得注意的是,此处使用split函数将cookie字符串以';'作为分隔符分割成数组,并取出数组的第一个元素,即cookie的name和value。否则完整的cookie字符串中可能包含一些我们不需要的信息,如HttpOnly, Secure等标志。
这里的axios库可以替换为其他的http请求库,如request,http等。
以上就是Python和TypeScript请求获取所有cookie的方法。无论是在Python还是TypeScript中,我们都可以轻松获取网站返回的cookie数据。