我用這一個砰地撞着牆頭。我一直在嘗試每個示例,閱讀我在網上可以找到的有關使用urllib2進行基本http授權的每一個最後一點,但是我無法弄清楚是什麼導致了我的具體錯誤。urllib2基本認證怪物
添加到無奈的是,代碼工作的一個頁面,而尚未另一個。登錄www.mysite.com/adm的登錄變得非常順利。它認證沒有問題。然而,如果我更改地址爲「http://mysite.com/adm/items.php?n=201105 & C = 200」我收到此錯誤:
<h4 align="center" class="teal">Add/Edit Items</h4>
<p><strong>Client:</strong> </p><p><strong>Event:</strong> </p><p class="error">Not enough information to complete this task</p>
<p class="error">This is a fatal error so I am exiting now.</p>
搜索谷歌已經導致零信息這個錯誤。
ADM的是框架集頁面,我不知道這是相關的。
下面是當前的代碼:
import urllib2, urllib
import sys
import re
import base64
from urlparse import urlparse
theurl = 'http://xxxxxmedia.com/adm/items.php?n=201105&c=200'
username = 'XXXX'
password = 'XXXX'
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, theurl,username,password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
pagehandle = urllib2.urlopen(theurl)
url = 'http://xxxxxxxmedia.com/adm/items.php?n=201105&c=200'
values = {'AvAudioCD': 1,
'AvAudioCDDiscount': 00, 'AvAudioCDPrice': 50,
'ProductName': 'python test', 'frmSubmit': 'Submit' }
#opener2 = urllib2.build_opener(urllib2.HTTPCookieProcessor())
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
這只是衆多版本我試過之一。我已經跟蹤了Urllib2手冊中的所有示例,但仍然收到相同的錯誤。
任何人都可以指出我做錯了什麼?
它看起來像你的代碼工作,但不是你連接到的網站。它在瀏覽器中工作嗎?由於頁面包含框架,你看過它的源代碼嗎? – 2011-02-03 06:41:56
是的,它在瀏覽器中工作。我已經檢查出它的來源與螢火蟲。管理網站使用此樣式代碼進入html頁面:
– Zack 2011-02-03 07:27:52@jd是的,它在瀏覽器中工作。我已經檢查出它的來源與螢火蟲。我不完全確定要尋找什麼。我注意到我可以在每個頁面上使用python進行身份驗證,除了那些在地址IE中有參數的頁面。 ..dia.com/ADM/items.php?N = 201105&amp; C = 200' 。 – Zack 2011-02-03 07:37:25