:: Visual Foxpro, Foxpro for DOS
Microsoft.XMLHTTP сообщение используете устаревший броузер
Grin
Автор

Сообщений: 1083
Откуда: Kiev
Дата регистрации: 05.12.2000
Вызываю URL из мозилы, рисует страницу с нужными мне данными

Пробую дергнуть через Microsoft.XMLHTTP
mt=Createobject("Microsoft.XMLHTTP")
mt.Open("POST",m.url,.f.)
mt.Send()
? mt.responseText

получаю

......................
<body>
<div class="sec">
<div class="contain fuckIe">
<h1>Вы используете устаревший броузер!</h1>
......................


Пробую
URLDownloadToFile(0, m.url, 'c:\temp\fff.txt', 0,0)

получаю все тот-же

......................
<body>
<div class="sec">
<div class="contain fuckIe">
<h1>Вы используете устаревший броузер!</h1>
......................


Через "InternetExplorer.Application" работает, но его использовать не хочу

Подозреваю, что Microsoft.XMLHTTP можно подстроить Header запроса
может кто стыкался\обходил такую проблему
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
mt.setRequestHeader("User-Agent", "Mozilla/4.0") - второй параметр надо списать с рабочего браузера
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
Grin
Автор

Сообщений: 1083
Откуда: Kiev
Дата регистрации: 05.12.2000
Спасибо, помогло.
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Если таки "рисует" (т.е. динамически создаёт ява-скриптами и прочим) то обмануть так просто не выйдет (ну точнее загрузить то "основу" он загрузит, а дальше кто скрипты исполнять будет?). А если тупо проверяет заголовок UserAgent но отдаёт всё равно статический html (хотя на кой чёрт это нужно автору сайта) - ну тут сильно проще.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
Grin
Автор

Сообщений: 1083
Откуда: Kiev
Дата регистрации: 05.12.2000
Коллеги, еще один вопрос

Есть сторонний поставщик данных,
взаимодействие с которым выполняется в два запроса

1. Запрагшиваем перечень доступных дат с данными
mt=Createobject("Microsoft.XMLHTTP")
mt.Open("GET",m.url,.f.)
mt.Send()
? mt.responseText

в ответ получаю json с перечнем дат аля
["2017-11-06","2017-11-03"]
всегда отрабатывает без ошибок


Далее разбираю данный json
строю цикл с обращением к m.url2 (с учетом полученной даты)
mt2=Createobject("Microsoft.XMLHTTP")
mt2.Open("GET",m.url2,.f.)
mt2.Send()
? mt2.responseText

в результате в 90% обращений получаю ошибку
OLE IDispatch exception code 0 from msxml3.dll: Не удается найти указанный ресурс.

пробовал менять на "Msxml2.XMLHTTP"
пробовал обращаться к ресурсу из ранее созданного объекта "mt"
ходил с бубном вокруг компа
обкуривал травами
ни чего не помогает

не понимаю чего получаю ошибку,
ладно-бы всегда была ошибка,
периодически отрабатывает (с 5 с 7 раза, иногда с первого),
подскажите куда рыть \ как обойти
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
dimag

Сообщений: 464
Откуда: Одинцово
Дата регистрации: 17.12.2002
Поиск в помощь, вот первое, что нашлось forum.foxclub.ru


------------------
Глупость - это не отсутствие ума, это такой ум.
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
Grin
Автор

Сообщений: 1083
Откуда: Kiev
Дата регистрации: 05.12.2000
2dimag
поиском пользуюсь,
это немного не то,
.readyState и т. д. прописаны
валится на .Send()
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Grin
строю цикл с обращением к m.url2 (с учетом полученной даты)
Возможно тут и кроется косяк. Неверно сформирована строка запроса.
Может, конечно, это и "поставщик данных" такой кривой что работает "сутки через трое". Но начать стоит в любом случае с создаваемой тобой строки запроса. Пробовать её открывать в браузере, или банальными утилитами типа wget/curl.
Ещё у тебя совсем не прописаны заголовки - пообщайся с саппортом "поставщика" на предмет того, какие HTTP заголовки они ожидают.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
Grin
Автор

Сообщений: 1083
Откуда: Kiev
Дата регистрации: 05.12.2000
m.url2 в броузере открывается нормально
.setRequestHeader тоже прописан, то я в пример выводил минимум
если mt2.Send() отрабатывает без ошибок, то дальше весь цикл проходит без ошибок

Тоже склоняюсь что или криво работает с той стороны
или наша локальная безопасность чего-то начудила
один хрен, не те не те не сознаются, у них всегда все ОК

В любом случае спасибо за ответ
Ratings: 0 negative/0 positive
Re: Microsoft.XMLHTTP сообщение используете устаревший броузер
Димон71

Сообщений: 80
Дата регистрации: 08.02.2005
Проверь, чтобы в запросе обязательно присутствовало либо http либо https
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 24 dfr  (Гостей: 23)

© 2000-2024 Fox Club 
Яндекс.Метрика