Как делают я использую и отлаживаю WWW:: Механизировать?

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

Вы можете использовать это для проверки, во время компиляции, что ваше приложение будет работать, например, в Windows 2000 (0x0500) или в Windows XP (0x0501).

Страница MSDN на Изменение WINVER и _WIN32_WINNT более подробно описывает это.

5
задан Andy Lester 31 March 2010 в 21:36
поделиться

2 ответа

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

Конечно, могут использоваться файлы cookie. А может, вы забыли скрытый параметр формы? Только вы можете сказать.

РЕДАКТИРОВАТЬ:

  • WWW :: Mechanize должен позаботиться о куки без какого-либо дальнейшего вмешательства.
  • Вы всегда должны проверять, были ли методы, которые вы вызывали, успешными. Работает ли первый get ()?
  • Может быть полезно взглянуть на журналы сервера, чтобы узнать, что на самом деле запрашивается и какой код состояния HTTP отправляется в качестве ответа.
2
ответ дан 13 December 2019 в 19:33
поделиться

Это произошло через несколько месяцев после того, как это произошло, но я решил ту же проблему, задав аналогичные вопросы. См. Можно ли автоматизировать обратную передачу со стороны клиента? для получения дополнительной информации.

Вместо этого я использовал Python Mechanize или Perl, но здесь действует тот же принцип.

Подводя итог моему предыдущему ответу:

Страницы ASP.NET нуждаются в скрытом параметре __EVENTTARGET в форме, которого не будет, когда вы используете

При посещении обычного пользователя на этих страницах есть функция __doPostBack ('foo'), которая дает соответствующее значение для __EVENTTARGET через событие onclick javascript для каждой из ссылок, но поскольку механизация не используйте javascript, вам нужно будет установить эти значения самостоятельно.

Решение на python приведено ниже, но не должно ' Это будет слишком сложно, чтобы адаптировать его к Perl.

def add_event_target(form, target):
    #Creates a new __EVENTTARGET control and adds the value specified
    #.NET doesn't generate this in mechanize for some reason -- suspect maybe is 
    #normally generated by javascript or some useragent thing?
    form.new_control('hidden','__EVENTTARGET',attrs = dict(name='__EVENTTARGET'))
    form.set_all_readonly(False)
    form["__EVENTTARGET"] = target
6
ответ дан 13 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: