Python Request库学习(二)

Posted z45-1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Request库学习(二)相关的知识,希望对你有一定的参考价值。

1.文件上传

Requests除了Get方法外,还可以使用Post方法。如果网站允许上传文件,则可以使用此方法来上传文件。

示例:

主要是使用requests的files参数来完成。

file.py

import requests 

files = {‘file‘ : open(‘Top250.txt‘,‘rb‘)}
upload_file = requests.post(‘http://192.168.137.128/upload_file.php‘,files= files)
print(upload_file.text,upload_file.status_code)
后台代码:Upload_file.php
<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>
运行file.py结果如下:
Upload: Top250.txt<br />Type: <br />Size: 182.2763671875 Kb<br />Stored in: C:xampp mpphp56EB.tmp 200
需要注意的是Top25.txt和py文件是同一目录,上传其他位置的文件修改为绝对路径就好了。
2.cookie设置
获取cookie:
在upload_file.php中设置一个cookie:setcookie("user", "Python", time()+3600);
cookie.py:
url = ‘http://192.168.137.128/upload_file.php‘
res = requests.get(url)
print(res.cookies)
#遍历cookies
for cookie in res.cookies.items():
    print(cookie)
运行结果如下:
<RequestsCookieJar[<Cookie user=Python for 192.168.137.128/>]>
(‘user‘, ‘Python‘)
替换cookie:
还是使用headers参数,将登录后的cookie写在里面。
url = ‘http://192.168.137.128/dvwa/index.php‘
headers = {
            ‘Cookie‘:‘security=impossible; PHPSESSID=lolg9oq8i9n0o2bh0c6dvmblt1‘,
            ‘Host‘:‘192.168.137.128‘,
            ‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0‘
}
res = requests.get(url,headers= headers)
print(res.text)
运行结果如下:
技术图片

 

 可以看到登录成功后的结果。说明登录成功了。

 
 
 

以上是关于Python Request库学习(二)的主要内容,如果未能解决你的问题,请参考以下文章

Python学习request库

python3网络爬虫学习——基本库的使用

python requests库学习

《爬虫学习》(urllib库使用)

Python爬虫学习)requests库

python3网络爬虫学习——基本库的使用