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