Какие переменные отправляются POST здесь - PullRequest
0 голосов
/ 04 апреля 2011

У меня есть эта страница: http://www.tataphoton.com/customer-service.aspx

Я выбираю первый вариант из первого комбо: «Photon Pro», затем нажимаю «Go». Затем я выбираю первый город: Ахмедабад

Сейчасон показывает детали обслуживания клиентов.

Эти же данные я хотел бы получить, послав запрос POST программно.

Я вижу, что следующие переменные отправляются на сервер (я получилэто из Firebug-> вкладка Net):

  • comGetvalue => 'Photon Pro',
  • __ EVENTARGUMENT => '',
  • __ LASTFOCUS => '',
  • comState_city => 'Ахмедабад',
  • __ EVENTTARGET => 'comState_city',
  • __ EVENTVALIDATION => 'Очень длинная строка',
  • __ VIEWSTATE =>'Long String'

Приведенный выше код показывает пары имя = значение (как в моем коде perl). Но сервер не отправляет правильный ответ.Я пропускаю переменную post, которая не отправляется?

Я добавил javascript и firebug в качестве тегов, потому что эти люди могут легко найти любое пропущенное значение, которое я не отправляю, просто увидевHTML-код.

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Маловероятно ли, что __EVENTVALIDATION и __VIEWSTATE значимы? Кроме того, учитывая имена полей, маловероятно, чтобы эти значения были получены за сеанс для предотвращения внешнего доступа?

Если вы не получили ожидаемого ответа, я бы сначала изучил природу вашего запроса - я предполагаю, что вы пытаетесь «вмешаться» в середине процесса, который был разработан, чтобы требовать, чтобы вы начинали с начало. Таким образом, вам, вероятно, придется пройтись по всем запросам curl с самого начала - сначала запросите начальную страницу (с включенными файлами cookie), чтобы установить идентификатор сеанса, затем отправьте запрос, чтобы «выбрать» значение первого комбо, а затем другой, чтобы выберите город.

1 голос
/ 04 апреля 2011

Во-первых, формируемый ли запрос поступает с сайта, на который он направляется (это межсайтовый запрос)?

Во-вторых, вы пытаетесь отправить копию VIEWSTATE на сервер, она не будет работать. Состояние просмотра - это специально зашифрованная строка, которая содержит всю информацию о состоянии, файлы cookie и т. Д. О текущей странице и будет меняться при каждой загрузке. Любые попытки отправить это обратно другим способом будут отклонены сервером.

...