微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 python requests/curl 登录和上传需要 cookie 和 .netrc 文件的地方?

如何解决如何使用 python requests/curl 登录和上传需要 cookie 和 .netrc 文件的地方?

我正在尝试自动文件上传系统,其中我必须使用 curl 在 CMD 中手动输入两个命令才能将文件上传到特定站点。第一个命令是:

curl -c <path/urs_cookies.txt> -n -L https://site_FileUpload/login

(-n 在包含我的用户名和密码的 cwd 中搜索我的 .netrc 文件。)

服务器响应:“欢迎上传文件

然后我输入

curl -X POST -b <urs_cookie_file> 
-F "file[]=@file"  https://site_FileUpload/upload/

首先我尝试使用 os 模块。

os.system('cmd /k "curl -c...."') 

服务器响应“Welcome to site File Upload” 但是第二行代码永远不会执行

os.system('cmd /k "curl -X POST...") 

经过测试,第一个命令之后的任何代码也不会执行。例如打印('你好')

接下来我尝试使用 python requests 模块。

import requests
s = requests.Session()     # to store cookies
login = requests.get(url,auth=(username,password))
print(login)

这导致 应该成功,对吗?

但是,如果我打印(login.content.decode()) 我会得到很多 html 乱码而不是预期的

“欢迎上传文件”,这向我表明登录不成功。

我相信这是因为我没有使用包含我的用户名和密码的 .netrc 文件。阅读 .netrc 部分的请求文档根本不是很有帮助,所以我想知道是否有人可以提供帮助?非常感谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。