簡體   English   中英

通過urllib / urllib2發出POST請求?

[英]POST request via urllib/urllib2?

在您發表任何言論之前,我已經環顧四周,並且解決方案無法正常工作。 我需要向Python中的登錄腳本發出發布請求。 該URL看起來像http://example.com/index.php?act=login ,然后通過POST接受usernamepassword 有人可以幫我嗎?

我試過了:

import urllib, urllib2, cookielib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders.append(('User-agent', 'Mozilla/4.0'))
opener.addheaders.append( ('Referer', 'http://www.hellboundhackers.org/index.php') )

login_data = urllib.urlencode({'username' : '[redacted]',
                               'password' : '[redacted]'
                               })

resp = opener.open('http://[redacted].org/index.php?act=login', login_data)
print resp.read()
resp.close()

並進行了一些修改:

import urllib, urllib2, cookielib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders.append(('User-agent', 'Mozilla/4.0'))
opener.addheaders.append( ('Referer', 'http://www.hellboundhackers.org/index.php') )

login_data = urllib.urlencode({'act' : 'login',
                               'username' : '[redacted]',
                               'password' : '[redacted]'
                               })

resp = opener.open('http://[redacted].org/index.php', login_data)
print resp.read()
resp.close()

您可能需要查看HTML源代碼,以了解什么是登錄表單操作URL。 有時它與頁面URL本身相同,但可能有所不同。 但是,由於您沒有顯示實際的網址,因此我們無法為您提供幫助。

<form>元素可能類似於:

<form method="POST" action="/do_login">

在這種情況下,您可以在POST網址中使用/do_login

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM