![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
liliputochka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Народ!!! Помогите пожалуйста!
Заполняю поля формы значениями и посылаю на сервер, в результате должен передаваться файл с данными, но вместо этого как результат запроса мне передается страница с формой, причем не заполненой. Что делать? Вот исходник:
|
|||
|
||||
Simpliest |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
||||
|
||||
liliputochka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Это я стащила с данного сайта, в частности это:
Если вы считаете что данная строка является решающей, то почему когда первый раз я выполняю curl_exec() мне возвращается страница с незаполненной формой в то время, когда я передаю ей параметры? Это сообщение отредактировал(а) liliputochka - 14.1.2010, 20:59 |
|||
|
||||
Simpliest |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Лично мне некогда разбираться более детально
![]() Но форма может возвращаться пустой, например по причине GET запроса вместо POST У вас там как минимум 2 запроса, и какой из них возвращает пустую форму - вы утаили ![]() Разницу видно? Далее. Насколько я вижу, как минимум на 1й странице надо сначала авторизоваться. И только потом возможно запрашивать данные. Вы же не авторизовались. |
|||
|
||||
liliputochka |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Благодарю хотя бы за то, что вы уже сделали!
Я проверяла код исходной страницы, там при реализации формы прописан post запрос.
Разницу то я вижу и прекрасно понимаю смысл. Я закомментировала свой код с 60 по 64 строку (где как раз происходит curl_setopt($handle, CURLOPT_POST, 0); ), результат: возвращается страница в которую я посылаю данные с пустой формой. |
||||
|
|||||
Simpliest |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Это не совсем то. Там не Basic Auth, а обычная форма авторизации (во всяком случае по первому адресу) Вам нужно посмотреть на ту форму авторизации и послать на нее параметры таким же способом как тут
После чего сохранить полученные куки и что там еще будет. А уж потом посылать свои данные. P.S. А не проще ли договориться о формате импорта/экспорта с владельцами ресурса? |
||||
|
|||||
liliputochka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Я реализовала по вашему совету: послала в форму аккаунт, логин, пароль; сохранила кукки; зашла на страницу куда должна передавать данные в форму; передаю данные - результат тот же - передается форма с незаполненными полями.
Спасибо за совет!!! Я постараюсь с ними связаться, как вы думаете для реализации этой операции владельцам ресурса много потребуется времени? |
|||
|
||||
liliputochka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Я прошу прощения за
Появились сдвиги в положительном направлении - передается форма с заполненными полями, только поля: COLUMN 14 , COLUMN 24 , COLUMN 27, COLUMN 28 и COLUMN 29 возвращаются пустыми, хотя в переменной передачи данных значения этих переменных передаю
Может есть какие-нибудь идеи? Еще один вопрос: как можно сделать так чтобы заполненная форма с данными передавалась на сервер (вроде как я нажала на кнопочку Submit). Я передаю в той же форме значение поля "Submit" = 1, но форма на это не реагирует и данные не обрабатываются. Это сообщение отредактировал(а) liliputochka - 15.1.2010, 13:16 |
|||
|
||||
liliputochka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
||||
|
||||
Simpliest |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Зависит от многих "но". В простейшем случае и при не кривых руках это делается за пару-тройку часов. Если делать полноценный Web-сервис на том же SOAP то день-два может уйти. Вопроса не понял. CURL именно это и реализует. Может стоит почитать описание как работает HTTP? Та форма, что показывается в браузере, при отправке превращается в нечто подобное вашей строке
Плюс масса заголовков. И через CURL всеми этими данными и настройками вы и управляете. |
||||
|
|||||
liliputochka |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Сейчас программа реализована так: 1. Захожу на страницу $URL5 = "https://cwrelectronics.com/login.php"; посылаю в форму запросом post логин и пароль, сохраняю кукки в файл 2. Захожу на страницу $URL = "http://cwrelectronics.com/b2b/productdownload.php"; пересылаю в форму данные и в конце в строке данных у меня написано
По идее при нажатии на кнопку отправки данных, данные должны пересылаться в файл
Вопрос в том как сделать так чтобы данные формы передались в нужный файл и обработались на сервере и вернули мне результат. Сейчас, пересылая
|
||||||||
|
|||||||||
Simpliest |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Еще раз объясняю. Никакого события "нажатия кнопки" на сервере нет в помине. По нажатию кнопки БРАУЗЕР отправляет на сервер запрос с данными. Сервер или получает, или не получает POST запрос с правильными или неправильными данными и выдает ответ. Установите Fiddler2. Он позволяет смотреть какой запрос куда ушел, с какими заголовками. Выполните все операции руками. Т.е. зайдите через браузер, авторизуйтесь, введите в форму данные и отправьте. После чего у вас будут образцы запросов и вы сможете сравнить с теми, что отправляете вы. |
|||
|
||||
liliputochka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Большое вам человеческое спасибо за совет!!! Действительно помогло!
Мне не понятным осталось: почему все заголовки пересылаются, а при авторизации меня на сайте данные формы никак не отображаются? Я перестала проходить авторизацию на сайте, и думаю что это связано с тем что неверно определяю значение на поля submit. Но, как я сказала ранее, названия полей и их значения в программе нет. Есть идеи? |
|||
|
||||
Simpliest |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: нет Всего: 3 |
Ничего не понял
![]() Какие данные и где должны отобразиться? |
|||
|
||||
liliputochka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 16.3.2006 Где: Волгоград Репутация: нет Всего: нет |
Я запускаю программу Fiddler2, захожу на страницу авторизации. Заполняю поля формы и авторизуюсь на сайте. В программе отображается какие запросы куда пошли, какие в сети были дейтсвия, но данных из заполненной мною формы в программе не отобразились.
Затем я перехожу на страницу, где заполняю поля другой формы и нажимаю кнопку submit. В программе отображается какие поля и их значения были переданы на сервер. Дело в том, что я перестала проходить авторизацию. Я предполагаю что это связано с кнопкой submit, т.к. во второй форме нажатие кнопки выглядит как:
Но поля и данные формы авторизации не фиксируются в программе. (Как я и сказала ранее.) Можете что-то подсказать? |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |