リクエストで Python を使用しており、リンクを短縮する Web サイトのフォームにデータを送信しようとしています。requests.post を使用したら、短縮リンクへのリンクを変数に保存したいと思います。
ステータス コードについて読んだことがありますが、その使用方法がよくわかりません。入力フォームはこんな感じ。
<form method="post" action="paste.php">
<div class="row">
<div class="12u">
<input type="text" name="name" id="name" placeholder="Name of paste" />
</div>
</div>
<div class="row">
<div class="12u">
<textarea name="paste" id="paste" placeholder="Paste contents"></textarea>
</div>
</div>
<div class="row">
<div class="12u">
<a type="submit" class="button form-button-submit">Upload</a>
<a href="#" class="button button-alt form-button-reset">Undo</a>
</div>
</div>
</form>
これが私がこれまでに持っているものです。
def create_paste(url):
title = 'title' # Define your title.
paste = 'paste' # Define your paste content.
try:
durk = requests.post(url, data={'name': title, 'paste': paste})
if durk.status_code == 302:
print('Pasted!')
else:
print('Not pasted!')
except:
raise
どうすればこれを行うことができますか?ありがとう。
編集:リクエストのドキュメントを読み直して問題を解決しました。リダイレクトを許可して r.url を使用すると、貼り付けリンクを表示できます。
def derp():
title = 'adsfjkl' # Define your title.
paste = 'asdfasdhfasdflkjashdfkjasht' # Define your paste content.
r = requests.post('http://website.com/paste.php', data={'name': title, 'paste': paste}, allow_redirects=True)
if r.status_code == 200:
print('Pasted! %s' % (r.url))
else:
print('Not pasted!')
print r.url