2016-08-25 5 views
1

私はrequest.postに問題があります。結果のHTMLコードを返すのではなく、開始側のhtmlコードを返します。python request postは提出しません

import requests 
def test(pdb): 
    URL = "http://capture.caltech.edu/" 
    r = requests.post(URL,files={"upfile": open(pdb)}) 
    content=r.text 
    print(content) 
    print(r.headers) 



def main(): 
    test("Model.pdb") 

使用するポストメソッドを定義する必要がありますか。なぜなら、htmlファイルには2つあるからです。この場合、私はそれをどのように行うのですか?(私は2番目のものを使用する。)

<FORM ACTION="result.cgi" METHOD=POST> 
<form action="capture_ul.cgi" method="post" enctype="multipart/form-data"> 

私は同様の質問がここにあることを承知していますが、間違いがあることだったので、そこに答えが助けにはなりませんでしたファイルの代わりにparamsが使用されましたが、ここでは問題はありません。

ありがとうございます。

+0

あなたは、http:// capture.caltech.edu/result.cgiまたはhttp://capture.caltech.edu/のいずれかに投稿する必要があります。 capture_ul.cgi' –

答えて

2

1 - 間違ったURLに投稿しています。http://capture.caltech.edu/capture_ul.cgiである必要があります。

2 - 送信する必要がある非表示フィールド(name='note')があります(空の文字列の値で十分です)。

... 
def test(pdb): 
    URL = "http://capture.caltech.edu/capture_ul.cgi" 
    r = requests.post(URL,files={"upfile": open(pdb)}, data={'note': ''}) 
    content=r.text 
    print(content) 
    print(r.headers) 
... 
関連する問題