Nano Hash - криптовалюты, майнинг, программирование

сообщение формы urllib python

<div id="login-section">
    <fieldset class="validation-group">
        <table id="navLgnMember" cellspacing="0" cellpadding="0" style="border-collapse:collapse;">
    <tr>
        <td>
                    <div id="login-user">
                        <div class="input" id="username-wrapper">
                            <div class="loginfield-label"><a href="/help" title="click for help logging in" style="color: White; text-decoration: none">Number / ID / Email</a></div>
                            <div class="input-field-small float-left submit-on-enter"><div class="left"></div><input name="ctl00$ctl01$navLgnMember$Username" type="text" maxlength="80" id="Username" title="Username" class="center" style="width:85px;" /><div class="right"></div></div>
                        </div>
                        <div class="input" id="password-wrapper">
                            <div class="loginfield-label">
                                Password</div>
                            <div class="input-field-small float-left submit-on-enter"><div class="left"></div><input name="ctl00$ctl01$navLgnMember$Password" type="password" id="Password" title="Password" class="center" title="Password" style="width:85px;" /><div class="right"></div></div>
                        </div>
                        <div id="login-wrapper">
                            <input type="submit" name="ctl00$ctl01$navLgnMember$Login" value="" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ctl01$navLgnMember$Login&quot;, &quot;&quot;, false, &quot;&quot;, &quot;https://tatts.com/tattersalls&quot;, false, false))" id="Login" class="button-login" />

                        </div>

как можно отправить эту форму из urllib в качестве текущего кода, который у меня есть:

import cookielib
import urllib
import urllib2


# Store the cookies and create an opener that will hold them
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

# Add our headers
opener.addheaders = [('User-agent', 'RedditTesting')]

# Install our opener (note that this changes the global opener to the one
# we just made, but you can also just call opener.open() if you want)
urllib2.install_opener(opener)

# The action/ target from the form
authentication_url = 'https://tatts.com/tattersalls'

# Input parameters we are going to send
payload = {
  '_EVENTTARGET:' ''
  '__EVENTARGUMENT:' ''
  '__VIEWSTATE:' '/wEPDwUKMTIwNzM2NDc5NQ9kFgICCBBkZBYCAgcPZBYGZg9kFgJmD2QWAmYPFgIeB1Zpc2libGVoZAIBD2QWAmYPZBYCZg8WAh8AaGQCAg9kFgJmD2QWAgIBD2QWAmYPZBYCZg9kFgYCAw9kFgICBw8WAh4FY2xhc3MFFmxhdGVzdFJlc3VsdHNCb2R5RGl2QmdkAgsPZBYCZg9kFgICBQ8WBB4JaW5uZXJodG1sBR8qRGl2IDEgJDFNIGZvciB1cCB0byA0IHdpbm5lcnMuHwBnZAIND2QWAmYPZBYCZg9kFgYCAQ8PFgIeBFRleHQFNVdobyB3b24gbW9uZXkgaW4gRHJvbWFuYT8gVGF0dHNMb3R0byBwcml6ZSB1bmNsYWltZWQhZGQCAw8PFgIfAwV5QSBkaXZpc2lvbiBvbmUgVGF0dHNMb3R0byBwcml6ZSBvZiAkODI5LDM2MS42OCB3YXMgd29uIGluIERyb21hbmEgaW4gU2F0dXJkYXkgbmlnaHTigJlzIGRyYXcgYnV0IHRoZSB3aW5uZXIgaXMgYSBteXN0ZXJ5IWRkAgUPDxYCHgtOYXZpZ2F0ZVVybAUbL3RhdHRlcnNhbGxzL3dpbm5lci1zdG9yaWVzZGRk40y89P1oSwLqvsMH4ZGTu9vsloo='
  '__PREVIOUSPAGE:' 'PnGXOHeTQRfdct4aw9jgJ_Padml1ip-t05LAdAWQvBe5-2i1ECm5zC0umv9-PrWPJIXsvg9OvNT2PNp99srtKpWlE4J-6Qp1mICoT3eP49RSXSmN6p_XiieWS68YpbKqyBaJrkmYbJpZwCBw0Wq3tSD3JUc1'
  '__EVENTVALIDATION:': '/wEdAAfZmOrHFYG4x80t+WWbtymCH/lQNl+1rLkmSESnowgyHVo7o54PGpUOvQpde1IkKS5gFTlJ0qDsO6vsTob8l0lt1XHRKk5WhaA0Ow6IEfhsMPG0mcjlqyEi79A1gbm2y9z5Vxn3bdCWWa28kcUm81miXWvi1mwhfxiUpcDlmGDs/3LMo4Y='
  'ctl00$ctl01$showUpgradeReminderHid:' 'false'
  'ctl00$ctl01$navLgnMember$Username:' 'x-tinct'
  'ctl00$ctl01$navLgnMember$Password:' '########'
  'ctl00$ctl01$navLgnMember$Login:'

  }

# Use urllib to encode the payload
data = urllib.urlencode(payload)

# Build our Request object (supplying 'data' makes it a POST)
req = urllib2.Request(authentication_url, data)

# Make the request and read the response
resp = urllib2.urlopen(req)
contents = resp.read()

print (resp)

это хороший способ перейти в правильную часть веб-сайта.

Я пытаюсь войти в систему и создать сеанс, чтобы затем иметь возможность публиковать дополнительные данные веб-формы в других частях сайта.

Заранее спасибо.

13.10.2014

  • Если вы не возражаете против использования стороннего модуля, я предлагаю requests, он намного удобнее в использовании. 13.10.2014
  • все та же проблема с тем, как я могу отправить javascript для входа в систему 13.10.2014
  • Что вы знаете о asp.net 13.10.2014

Ответы:


1

Согласно этому другому сообщению от SO: Mechanize и Javascript, у вас есть разные варианты: от моделирования на Python до javascript, чтобы использовать полноценный Selenium с его привязками к Python.

Если вы попытаетесь пойти простым путем Python, я настоятельно рекомендую вам использовать сетевой шпион, такой как отличный wireshark чтобы проанализировать, что на самом деле получает и отправляет успешный вход в систему через реальный браузер, и что отправляет ваша симуляция Python.

13.10.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..