3

ログインしてファイルをアップロードする必要があります。私が直面している問題は、ログイン ページがアップロード ページとは異なることです。手動で行う必要がある場合は、サイトにログイン ( login.php) し、アップロード ページ ( uploader.php) に移動してファイルをアップロードします。これは私が書いたものです:

import requests

url1='http://www.abc.com/login.php'
r = requests.post(url1, auth=('uname', 'pword'))
print r.status_code //msg:'200'

payload = {'upload':open('./tmp.txt')}
url2='http://www.abc.com/uploader.php'
r = requests.post(url2, data=payload)
print r.text //msg: "you must first login to upload the file"

私のコードは明らかに期待どおりに機能していません。ログイン部分は正しく機能していますが、アップロード部分は機能していません。どうすれば私の目標を達成できますか。

アップデート:

私の質問にもっと洞察を与えるために、私は詳細を提供login.phpしてuploader.phpファイルしています:

login.php

<form method="POST" action="login.php" class="login">
<input type="text" name="username"></input>
<input type="password" name="password"></input>        
<input type="submit" value="Login"></input>

アップローダー.php

<form action='uploader.php' method='POST' id='form' class='upload' enctype="multipart/form-data" >
<input type='file' name='upload' id='file'></input>
<input type='button' value='Analyze' name='button' onclick='javascript: checkuploadform(false)'>
4

1 に答える 1