python 使用cookies 发送post请求 获取结果
时间: 2023-06-26 12:03:49 浏览: 121
可以使用 Python 的 requests 库来发送带有 Cookies 的 POST 请求,并获取响应结果。
首先,你需要获取 Cookies,可以使用 requests 库发送 GET 请求,然后通过 response.cookies 获取:
```python
import requests
url = "https://example.com/login"
response = requests.get(url)
cookies = response.cookies
```
接着,你可以使用 Cookies 发送 POST 请求,例如:
```python
import requests
url = "https://example.com/data"
data = {"key": "value"}
cookies = {"session_id": "12345"}
response = requests.post(url, data=data, cookies=cookies)
print(response.text)
```
在这个例子中,我们使用了 requests 库的 post 方法发送一个 POST 请求,其中包含了一些数据 data 和 Cookies。最后,我们打印了响应结果 response.text。
需要注意的是,Cookies 应该是一个字典,键值对表示了 Cookie 的名称和值。在这个例子中,我们使用了一个名为 "session_id" 的 Cookie。你需要根据实际情况替换为你自己的 Cookie 名称和值。
相关问题
python带cookies发送post请求_Python模仿POST提交HTTP数据及使用Cookie值的方法
在Python中发送带有cookies的POST请求,可以使用requests库。具体步骤如下:
1. 安装requests库
在命令行中输入以下命令安装requests库:
```
pip install requests
```
2. 导入requests库
在Python代码中导入requests库:
```python
import requests
```
3. 构造请求参数
构造POST请求参数,可以使用字典类型。例如:
```python
params = {
'username': 'your_username',
'password': 'your_password'
}
```
4. 设置cookies
设置cookies,也可以使用字典类型。例如:
```python
cookies = {
'cookie_name': 'cookie_value'
}
```
5. 发送POST请求
使用requests库发送POST请求,并传入参数和cookies。例如:
```python
response = requests.post(url, data=params, cookies=cookies)
```
其中,url是请求的URL地址。
6. 获取响应数据
获取响应数据,可以使用response对象的text属性。例如:
```python
print(response.text)
```
完整代码示例:
```python
import requests
url = 'http://example.com/login'
params = {
'username': 'your_username',
'password': 'your_password'
}
cookies = {
'cookie_name': 'cookie_value'
}
response = requests.post(url, data=params, cookies=cookies)
print(response.text)
```
注意:在实际使用中,需要替换掉示例代码中的URL、参数和cookies值。
python 登录csdn,清除token,使用cookies 发送post请求编辑个人资料, 获取返回结果到本地
以下是使用 Python 登录 CSDN,清除 token,使用 cookies 发送 POST 请求编辑个人资料,获取返回结果到本地的示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 登录 CSDN
login_url = 'https://passport.csdn.net/v1/register/pc/login/doLogin'
headers_login = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299',
'Referer': 'https://passport.csdn.net/login?code=public'
}
data_login = {
'loginType': '1',
'pwdOrVerifyCode': 'your_password',
'userIdentification': 'your_username',
'uaToken': ''
}
session = requests.session()
response_login = session.post(login_url, headers=headers_login, data=data_login)
# 清除 token
soup = BeautifulSoup(response_login.text, 'html.parser')
token = soup.find('input', attrs={'name': 'csrfmiddlewaretoken'})['value']
session.cookies.clear()
# 使用 cookies 发送 POST 请求编辑个人资料
profile_url = 'https://i.csdn.net/settings/profile'
headers_profile = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299',
'Referer': 'https://i.csdn.net/settings/profile'
}
data_profile = {
'csrfmiddlewaretoken': token,
'nickname': 'new_nickname',
'email': 'new_email@example.com',
'realname': 'new_realname',
'gender': '1',
'birthday': '1990-01-01',
'company': 'new_company',
'job_title': 'new_job_title',
'phone': 'new_phone',
'qq': 'new_qq',
'wechat': 'new_wechat',
'weibo': 'new_weibo',
'github': 'new_github',
'gitee': 'new_gitee',
'description': 'new_description',
'blog': 'new_blog',
'blog_rss': 'new_blog_rss',
'blog_title': 'new_blog_title',
'blog_tagline': 'new_blog_tagline',
'blog_category': 'new_blog_category',
'blog_keywords': 'new_blog_keywords'
}
response_profile = session.post(profile_url, headers=headers_profile, data=data_profile)
# 获取返回结果到本地
with open('profile.html', 'w', encoding='utf-8') as f:
f.write(response_profile.text)
```
注意,代码中的 `your_username` 和 `your_password` 需要替换成你自己的 CSDN 账号和密码,`new_nickname`、`new_email@example.com` 等字段也需要根据实际情况修改。
阅读全文