urllib2.HTTPError:HTTP错误405:不允许方法,为什么会发生这种情况?

2024-09-30 18:32:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经找遍了我的问题,但找不到任何明确的解决办法。在

这是我的密码

import urllib, urllib2, cookielib
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username':'USER','password':'PASS','SignOnTo':'1012'})
x0=opener.open('https://example.com/English/common/HTML/Login.html', login_data)
print x0.geturl()

然后我得到了这个urllib2.HTTPError: HTTP Error 405: Method Not Allowed

所以这是登录的FORM,以确保我的代码是正确的

^{pr2}$

另外,我使用tamper data{plugin in firefox}检查了输出参数 我在字典里只加了三个


检查后

这是函数fn_login

function fn_login() 
   {    
         var checklen = document.LoginForm.password.value.length;
         document.cookie = "CheckLenP ="+checklen+";path = /"+";domain =.example.com;SECURE";
         if(isAutoReg() && (switchIndex(signin,"-")!=-1))
        {   
                var sAutoregUrl=solRealm + "/apps/consumer/autoreg/welcome.jsp?Language=E";                  
                document.cookie = "TargetUrl ="+sAutoregUrl+";path = /"+";domain =.example.com";     
                document.LoginForm.action=solRealm + "/common/ebank/autoregp6.jsp";           
                document.LoginForm.submit();        
        }
         else
        {           
                var sUserId = document.LoginForm.username.value;
                var sPwd    = document.LoginForm.password.value;
                var signin = document.LoginForm.SignOnTo.value;                 

                 if(switchIndex(signin,"-")==-1)
                {
                        loginurl = tdlRealm + "/secure/examplelogin.dll";         
                        document.LoginForm.action = loginurl;   
                        document.cookie = "TargetUrl =" + tdlRealm + "/apps/consumer/ITS/welcome.jsp?Language=E" +";path = /"+";domain =.example.com";                                                                                          
                }
                 else
                {
                        loginurl = solRealm + "/secure/" + "examplelogin.dll";         
                        document.LoginForm.action = loginurl;   
                        document.cookie = "TargetUrl =" + solRealm + "/apps/consumer/ops/welcome.jsp?Language=E" +";path = /"+";domain =.example.com";                                  
                }

                 if(sUserId.length < 1) 
                {                       
                        alert('User Name field should not be empty, Click Tab to move between User Name and Password boxes');                   
                        return false;
                }
                 if(sPwd.length < 1) 
                {
                        alert('Password field should not be empty, Click Tab to move between User Name and Password boxes');
                        return false;
                } 
                var szSelectedScreen = signin;
                var dt = new Date(2012,1,1);
                document.cookie = "SOLPreferedPage="+szSelectedScreen+";expires="+dt.toGMTString()+";path=/"+";domain=.example.com";                                              
                document.LoginForm.submit();                    
        }
   } 

Tags: pathcomifvalueexamplecookievardomain