Latest posts on urllib2 authorization topichttps://python.su/forum/topic/31398/2016-12-16T11:21:19+02:00Общий :: Network :: urllib2 authorization
2016-12-16T11:21:19+02:00ZerG172100Ну мы врятле чем либо поможем не зная что у вас там …
Общий :: Network :: urllib2 authorization
2016-12-16T10:42:18+02:00vak172097<blockquote><em>ZerG</em><br/>Но выяснить какая именно разновидность аутентификации пока не представлется возможным.Это вам так только кажеться Открываете свой сайт в отладчике браузера (Девелеопер тулс)И смотрите досконально что там на нафторизацию завязанно куда ссылается и так далее! Может там аяксовый скрит или дж или обычный пгп! Авторизируетесь смотрите консоль логов… В целом - вы бы конечно могли скинуть сюда ссылку на нужный ресурс - но если вам подскажут то завтра же вы упретесь в данную проблему с другим сайтом и опять будете писать подобную тему… Правильно все же разобраться</blockquote><br/>Да, так и делаю. Смотрю в отладчике.<br/>Ссылочка не поможет, - ресурсы карпаративные.
Общий :: Network :: urllib2 authorization
2016-12-16T10:09:19+02:00ZerG172094 Но выяснить какая именно разновидность аутентификации пока не представлется возможным.<br/><br/>Это вам так только кажеться <img src="/static/djangobb_forum/img/smilies/smile.png" /><br/>Открываете свой сайт в отладчике браузера (Девелеопер тулс)<br/>И смотрите досконально что там на нафторизацию завязанно куда ссылается и так далее! <br/>Может там аяксовый скрит или дж или обычный пгп! <br/>Авторизируетесь смотрите консоль логов… <br/><br/>В целом - вы бы конечно могли скинуть сюда ссылку на нужный ресурс - но если вам подскажут то завтра же вы упретесь в данную проблему с другим сайтом и опять будете писать подобную тему… <br/>Правильно все же разобраться <br/>
Общий :: Network :: urllib2 authorization
2016-12-16T08:10:19+02:00vak172092<blockquote><em>ZerG</em><br/>Прежде всего недостаточно информации!Ибо механизмов аутентификации огромное множество! Универсального метода нет!Прежде всего вам нужно определиться с механизмом - после чего выбрать нужный инструмент!</blockquote>Ваша правда. Согласен. Но выяснить какая именно разновидность аутентификации пока не представлется возможным.<br/><br/>Вот удалось методом проб и слухов получить ключ сессии.<br/><br/><div class="code"><pre> <span class="kn">import</span> <span class="nn">ssl</span>
<span class="kn">import</span> <span class="nn">base64</span>
<span class="kn">from</span> <span class="nn">pysimplesoap.client</span> <span class="kn">import</span> <span class="n">SoapClient</span>
<span class="n">ssl</span><span class="o">.</span><span class="n">_create_default_https_context</span> <span class="o">=</span> <span class="n">ssl</span><span class="o">.</span><span class="n">_create_unverified_context</span>
<span class="n">client</span> <span class="o">=</span> <span class="n">SoapClient</span><span class="p">(</span><span class="n">wsdl</span><span class="o">=</span><span class="s2">"http://127.0.0.1:5000/service.htms.xml"</span><span class="p">,</span><span class="n">trace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">auth</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">onyma_api_open_session</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s1">'---'</span><span class="p">,</span><span class="n">password</span><span class="o">=</span><span class="s1">'---'</span><span class="p">)</span>
</pre></div><br/>Как ключ сессии подсунуть в следующие запросы SOAP пока не знаю…<br/>Может у кого есть рецепт?
Общий :: Network :: urllib2 authorization
2016-12-15T15:42:29+02:00ZerG172080Прежде всего недостаточно информации!<br/>Ибо механизмов аутентификации огромное множество! Универсального метода нет!<br/>Прежде всего вам нужно определиться с механизмом - после чего выбрать нужный инструмент!<br/>
Общий :: Network :: urllib2 authorization
2016-12-15T03:32:22+02:00vak172069Опять уткнулся в ту-же проблему с авторизацией в urllib2 в друрой задаче:<br/><br/><div class="code"><pre> <span class="kn">import</span> <span class="nn">ssl</span>
<span class="kn">from</span> <span class="nn">pysimplesoap.client</span> <span class="kn">import</span> <span class="n">SoapClient</span>
<span class="n">ssl</span><span class="o">.</span><span class="n">_create_default_https_context</span> <span class="o">=</span> <span class="n">ssl</span><span class="o">.</span><span class="n">_create_unverified_context</span>
<span class="n">client</span> <span class="o">=</span> <span class="n">SoapClient</span><span class="p">(</span><span class="n">wsdl</span><span class="o">=</span><span class="s2">"http://127.0.0.1:5000/service.htms.xml"</span><span class="p">,</span><span class="n">trace</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">client</span><span class="p">[</span><span class="s1">'AuthHeaderElement'</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'username'</span><span class="p">:</span> <span class="s1">'---'</span><span class="p">,</span> <span class="s1">'password'</span><span class="p">:</span> <span class="s1">'---'</span>
<span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">onyma_api_audit_dog_list</span><span class="p">()</span>
<span class="n">result</span> <span class="o">=</span> <span class="n">response</span>
<span class="k">print</span> <span class="n">result</span>
</pre></div><br/>Данные не получаю. Видимо из-за авторизации.<br/><br/><div class="code"><pre> <span class="n">DEBUG</span><span class="p">:</span><span class="n">pysimplesoap</span><span class="o">.</span><span class="n">client</span><span class="p">:</span><span class="n">content</span><span class="o">-</span><span class="n">length</span><span class="p">:</span> <span class="mi">434</span>
<span class="n">x</span><span class="o">-</span><span class="n">powered</span><span class="o">-</span><span class="n">by</span><span class="p">:</span> <span class="n">PHP</span><span class="o">/</span><span class="mf">5.6</span><span class="o">.</span><span class="mi">22</span>
<span class="nb">set</span><span class="o">-</span><span class="n">cookie</span><span class="p">:</span> <span class="n">PHPSESSID</span><span class="o">=</span><span class="mi">5288</span><span class="n">c5918a42b6814d3ea630acf2115d</span><span class="p">;</span> <span class="n">path</span><span class="o">=/</span>
<span class="n">expires</span><span class="p">:</span> <span class="n">Thu</span><span class="p">,</span> <span class="mi">19</span> <span class="n">Nov</span> <span class="mi">1981</span> <span class="mi">08</span><span class="p">:</span><span class="mi">52</span><span class="p">:</span><span class="mo">00</span> <span class="n">GMT</span>
<span class="n">vary</span><span class="p">:</span> <span class="n">Accept</span><span class="o">-</span><span class="n">Encoding</span>
<span class="n">server</span><span class="p">:</span> <span class="n">Apache</span><span class="o">/</span><span class="mf">2.4</span><span class="o">.</span><span class="mi">20</span> <span class="p">(</span><span class="n">Unix</span><span class="p">)</span> <span class="n">PHP</span><span class="o">/</span><span class="mf">5.6</span><span class="o">.</span><span class="mi">22</span> <span class="n">OpenSSL</span><span class="o">/</span><span class="mf">1.0</span><span class="o">.</span><span class="mi">2</span><span class="n">h</span> <span class="n">mod_wsgi</span><span class="o">/</span><span class="mf">3.5</span> <span class="n">Python</span><span class="o">/</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">11</span>
<span class="n">connection</span><span class="p">:</span> <span class="n">close</span>
<span class="n">pragma</span><span class="p">:</span> <span class="n">no</span><span class="o">-</span><span class="n">cache</span>
<span class="n">cache</span><span class="o">-</span><span class="n">control</span><span class="p">:</span> <span class="n">no</span><span class="o">-</span><span class="n">store</span><span class="p">,</span> <span class="n">no</span><span class="o">-</span><span class="n">cache</span><span class="p">,</span> <span class="n">must</span><span class="o">-</span><span class="n">revalidate</span><span class="p">,</span> <span class="n">post</span><span class="o">-</span><span class="n">check</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">pre</span><span class="o">-</span><span class="n">check</span><span class="o">=</span><span class="mi">0</span>
<span class="n">date</span><span class="p">:</span> <span class="n">Thu</span><span class="p">,</span> <span class="mi">15</span> <span class="n">Dec</span> <span class="mi">2016</span> <span class="mo">01</span><span class="p">:</span><span class="mi">30</span><span class="p">:</span><span class="mi">56</span> <span class="n">GMT</span>
<span class="n">content</span><span class="o">-</span><span class="nb">type</span><span class="p">:</span> <span class="n">text</span><span class="o">/</span><span class="n">xml</span><span class="p">;</span><span class="n">charset</span><span class="o">=</span><span class="n">UTF</span><span class="o">-</span><span class="mi">8</span>
<span class="n">DEBUG</span><span class="p">:</span><span class="n">pysimplesoap</span><span class="o">.</span><span class="n">client</span><span class="p">:</span><span class="o"><</span><span class="err">?</span><span class="n">xml</span> <span class="n">version</span><span class="o">=</span><span class="s2">"1.0"</span> <span class="n">encoding</span><span class="o">=</span><span class="s2">"UTF-8"</span><span class="err">?</span><span class="o">><</span><span class="n">soapenv</span><span class="p">:</span><span class="n">Envelope</span> <span class="n">xmlns</span><span class="p">:</span><span class="n">soapenv</span><span class="o">=</span><span class="s2">"http://schemas.xmlsoap.org/soap/envelope/"</span> <span class="n">xmlns</span><span class="p">:</span><span class="n">xsi</span><span class="o">=</span><span class="s2">"http://www.w3.org/2001/XMLSchema-instance"</span><span class="o">><</span><span class="n">soapenv</span><span class="p">:</span><span class="n">Body</span><span class="o">><</span><span class="n">soapenv</span><span class="p">:</span><span class="n">Fault</span><span class="o">><</span><span class="n">faultcode</span><span class="o">></span><span class="n">Client</span><span class="o"></</span><span class="n">faultcode</span><span class="o">><</span><span class="n">faultstring</span><span class="o">></span><span class="n">Session</span> <span class="n">doesn</span><span class="s1">'t exist</faultstring><detail><exceptionName>ru.onyma.www.services.OnymaApi.types.T_exception</exceptionName><code>0</code></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope></span>
<span class="n">Traceback</span> <span class="p">(</span><span class="n">most</span> <span class="n">recent</span> <span class="n">call</span> <span class="n">last</span><span class="p">):</span>
<span class="n">File</span> <span class="s2">"./soap.py"</span><span class="p">,</span> <span class="n">line</span> <span class="mi">11</span><span class="p">,</span> <span class="ow">in</span> <span class="o"><</span><span class="n">module</span><span class="o">></span>
<span class="n">response</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">onyma_api_audit_dog_list</span><span class="p">()</span>
<span class="n">File</span> <span class="s2">"/home/vak/.virtualenvs/iss/local/lib/python2.7/site-packages/pysimplesoap/client.py"</span><span class="p">,</span> <span class="n">line</span> <span class="mi">181</span><span class="p">,</span> <span class="ow">in</span> <span class="o"><</span><span class="k">lambda</span><span class="o">></span>
<span class="k">return</span> <span class="k">lambda</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">wsdl_call</span><span class="p">(</span><span class="n">attr</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
<span class="n">File</span> <span class="s2">"/home/vak/.virtualenvs/iss/local/lib/python2.7/site-packages/pysimplesoap/client.py"</span><span class="p">,</span> <span class="n">line</span> <span class="mi">346</span><span class="p">,</span> <span class="ow">in</span> <span class="n">wsdl_call</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">wsdl_call_with_args</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">)</span>
<span class="n">File</span> <span class="s2">"/home/vak/.virtualenvs/iss/local/lib/python2.7/site-packages/pysimplesoap/client.py"</span><span class="p">,</span> <span class="n">line</span> <span class="mi">370</span><span class="p">,</span> <span class="ow">in</span> <span class="n">wsdl_call_with_args</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="p">(</span><span class="n">method</span><span class="p">,</span> <span class="o">*</span><span class="n">params</span><span class="p">)</span>
<span class="n">File</span> <span class="s2">"/home/vak/.virtualenvs/iss/local/lib/python2.7/site-packages/pysimplesoap/client.py"</span><span class="p">,</span> <span class="n">line</span> <span class="mi">269</span><span class="p">,</span> <span class="ow">in</span> <span class="n">call</span>
<span class="n">fault</span> <span class="o">=</span> <span class="n">operation</span><span class="p">[</span><span class="s1">'faults'</span><span class="p">][</span><span class="n">detailXml</span><span class="o">.</span><span class="n">children</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">get_name</span><span class="p">()]</span>
<span class="ne">KeyError</span><span class="p">:</span> <span class="s1">u'exceptionName'</span>
</pre></div><br/>Может кто знает, в чем дело?
Общий :: Network :: urllib2 authorization
2016-11-17T04:42:01+02:00vak170817Упорно не получается авторизоваться.<br/>В ответ приходит форма для ввода логинва и пароля.<br/>И вроде по документации все правильно. Разные варианты перепробовал, ниже один из них. Проверял на разных сайтах. Авторизация не проходит. Подскажите плиз, что не так, в чем ошибка?<br/><br/><div class="code"><pre>
<span class="n">auth_handler</span> <span class="o">=</span> <span class="n">urllib2</span><span class="o">.</span><span class="n">HTTPBasicAuthHandler</span><span class="p">()</span>
<span class="n">auth_handler</span><span class="o">.</span><span class="n">add_password</span><span class="p">(</span><span class="n">realm</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="s1">'http://10.6.0.22:8080/'</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="s1">'---'</span><span class="p">,</span> <span class="n">passwd</span><span class="o">=</span><span class="s1">'----'</span><span class="p">)</span>
<span class="n">opener</span> <span class="o">=</span> <span class="n">urllib2</span><span class="o">.</span><span class="n">build_opener</span><span class="p">(</span><span class="n">auth_handler</span><span class="p">)</span>
<span class="n">urllib2</span><span class="o">.</span><span class="n">install_opener</span><span class="p">(</span><span class="n">opener</span><span class="p">)</span>
<span class="k">print</span> <span class="n">urllib2</span><span class="o">.</span><span class="n">urlopen</span><span class="p">(</span><span class="s1">'http://10.6.0.22:8080/monitor/events/page/1/'</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
</pre></div><br/>Причем, проверяю возможность запроса через curl , - работает.