如何使用 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 (将#修改为@)