2016-09-11 7 views
0

フォームにデータを入力し、Webサイトにログインしてから、現在のページのソースをダウンロードします。私はpycurlと同じことを行うことができますどのようにフォームにデータを入力して、次のページに移動する方法

curl -c cookie.txt --data "[email protected]&pass=MyPass&submit=login" https://mywebsite.com/pageA 

curl -b cookie.txt https://mywebsite.com/pageB> down.txt 

:端末からカールして は、私は、次のコマンドを実行しますか?アップdocsの例から

+0

私はウェブで見つけ、このスクリプトを試してみました: http://codebin.it?s=57d5650ef0c1790003000001 が、それは – who

答えて

0

ビル:

from __future__ import print_function 
import pycurl 
try: 
    # python 3 
    from urllib.parse import urlencode 
except ImportError: 
    # python 2 
    from urllib import urlencode 

c = pycurl.Curl() 
c.setopt(c.URL, 'https://mywebsite.com/pageA') 

post_data = {'email': '[email protected]', 'pass': 'MyPass', 'submit': 'login'} 
# Form data must be provided already urlencoded. 
postfields = urlencode(post_data) 
# Sets request method to POST, 
# Content-Type header to application/x-www-form-urlencoded 
# and data to send in request body. 
c.setopt(c.POSTFIELDS, postfields) 
c.setopt(c.COOKIEJAR, 'cookie.txt') 
c.setopt(c.COOKIEFILE, 'cookie.txt') 

try: 
    c.perform() 
    c.setopt(c.URL, 'https://mywebsite.com/pageB') 
    c.perform() 

except pycurl.error as error: 
    errno, errstr = error 
    print('An error occurred: ', errstr) 

c.close() 
+0

おかげで動作しません。 、私はそれが動作すると思うが、今、どのように私はpageBのソースをダウンロードすることができますか? – who

+0

@whoこの回答があなたの質問を満たしている場合は、それを受け入れたものとしてマークしてください。さらに質問がある場合は、新しい質問を開きます。 –

+0

いいえ、私は間違っています、このスクリプトは私に間違ったクッキーを与えます – who

関連する問題