Cara menggunakan python request https

Saya mencoba masuk ke //www.voxbeam.com/login menggunakan permintaan untuk mengikis data. Saya seorang pemula python dan saya telah melakukan sebagian besar tutorial, dan beberapa goresan web saya sendiri dengan BeautifulSoup.

Melihat HTML:










Saya mengerti saya harus menggunakan metode post, dan mengirim userName dan kata sandi

Saya mencoba ini:

import requests
import webbrowser

url = "//www.voxbeam.com/login"
login = {'userName': 'xxxxxxxxx',
         'password': 'yyyyyyyyy'}

print["Original URL:", url]

r = requests.post[url, data=login]

print["\nNew URL", r.url]
print["Status Code:", r.status_code]
print["History:", r.history]

print["\nRedirection:"]
for i in r.history:
    print[i.status_code, i.url]

# Open r in the browser to check if I logged in
new = 2  # open in a new tab, if possible
webbrowser.open[r.url, new=new]

Saya berharap, setelah login berhasil masuk r URL ke dasbor, sehingga saya dapat mulai menggores data yang saya butuhkan.

Ketika saya menjalankan kode dengan informasi otentikasi di tempat xxxxxx dan yyyyyy, saya mendapatkan output berikut:

Original URL: //www.voxbeam.com/login

New URL //www.voxbeam.com/login
Status Code: 200
History: []

Redirection:

Process finished with exit code 0

Saya mendapatkan tab baru di browser dengan www.voxbeam.com/login

Apakah ada yang salah dalam kode? Apakah saya kehilangan sesuatu di HTML? Tidak apa-apa untuk mengharapkan mendapatkan URL dasbor di r, atau untuk diarahkan kembali dan mencoba membuka URL di tab browser untuk memeriksa respons visual, atau saya harus melakukan sesuatu dengan cara yang berbeda?

Saya telah membaca banyak pertanyaan serupa di sini selama beberapa hari, tetapi tampaknya setiap proses otentikasi situs web sedikit berbeda, dan saya memeriksa //docs.python-requests.org/en/latest/user/authentication/ yang menjelaskan metode lain, tapi saya belum menemukan apa pun di HTML yang menyarankan saya harus menggunakan salah satu dari itu alih-alih posting

Saya mencoba juga

r = requests.get[url, auth=['xxxxxxxx', 'yyyyyyyy']] 

tetapi tampaknya tidak berhasil juga.

Saya mencoba melakukan HTTP POST menggunakan cookie dengan Python.

Saya memiliki nilai-nilai URL, POST data dan cookie.

import urllib2
url="//localhost/testing/posting.php"
data="subject=Alice-subject&addbbcode18=%23444444&addbbcode20=0&helpbox=Close+all+open+bbCode+tags&message=alice-body&poll_title=&add_poll_option_text=&poll_length=&mode=newtopic&sid=5b2e663a3d724cc873053e7ca0f59bd0&f=1&post=Submit"
cookie = "phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%223%22%3B%7D; phpbb2mysql_t=a%3A9%3A%7Bi%3A3%3Bi%3A1330156986%3Bi%3A1%3Bi%3A1330160737%3Bi%3A5%3Bi%3A1330161702%3Bi%3A6%3Bi%3A1330179284%3Bi%3A2%3Bi%3A1330160743%3Bi%3A7%3Bi%3A1330163187%3Bi%3A8%3Bi%3A1330164442%3Bi%3A9%3Bi%3A1330164739%3Bi%3A10%3Bi%3A1330176335%3B%7D; phpbb2mysql_sid=5b2e663a3d724cc873053e7ca0f59bd0"
#creating HTTP Req
req = urllib2.Request[url,data,cookie]

f = urllib2.urlopen[req]
print f.read[]

Namun, jika saya mencoba menjalankan program, itu menimbulkan kesalahan:

Traceback [most recent call last]:
  File "task-4.py", line 7, in 
    req = urllib2.Request[url,data,cookie]
  File "/usr/lib/python2.6/urllib2.py", line 197, in __init__
    for key, value in headers.items[]:
AttributeError: 'str' object has no attribute 'items'

Saya punya dua pertanyaan: 1. Apakah permintaan HTTP POST saya benar? [Saya telah benar-benar dapat menjalankan hal yang sama di Jawa dan mendapat HTTP 200 dengan posting yang sukses ke phpBB, namun, saya baru di Python] 2. Dapatkah seseorang menunjukkan kepada saya contoh mainan menangani HTTP POST dengan POST data dan cookie?

Terima kasih sebelumnya,

Roy

  • Cari disini...
  • Browse

    • Katalog Kelas

      Ikuti materi yang kamu butuhkan

    • Roadmap

      Belajar online dengan terarah

    • Bootcamp

      Codepolitan x Catamyst

  • Explore

    • Tutorial & Artikel

      Temukan Artikel menarik

    • Podcast

      Podcast seputar pemrograman

    • Webinar

      Ikuti Berbagai Webinar

    • Event

      Temukan Event menarik

    • Beasiswa

      Program Beasiswa

    • Discord

      Komunitas Discord

    • Forum

      Diskusi antar Programmer

    • Leaderboard

      Ranking siswa Codepolitan

  • Partnership

    • For Company

      Solusi tepat untuk perusahaan

    • For School

      Kerjasama untuk sekolah

    • For Campus

      Kerjasama untuk kampus

    • For Mentor

      Peluang penghasilan untuk mentor

  • Career

LoginRegister

Bài mới nhất

Chủ Đề