Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Как скачать картинку(captha) (https://javascript.ru/forum/css-html/29078-kak-skachat-kartinku-captha.html)

eropov 14.06.2012 10:44

Как скачать картинку(captha)
 
Здравствуйте. Есть капча на сайте(https://secure.e-konsulat.gov.pl), чтобы ее увидеть зайдите на сайт,
выберите два любых селекта с городами, выберите в левой колонке визу
и вы перейдете на страницу с капчей. После всех манипуляций пробовал скачать картинку( на другом языке программирования).
Картинка качается, но в содержимом картинки html. Немного разобравшись, понял, что для ее скачивания нужны куки.
Пробовал выдрать куки (на другом языке программирования), выдерается
только MSZ=b258c0ac-a7e5-4aee-b191-4eb71b43527d, а
должно MSZ=b258c0ac-a7e5-4aee-b191-4eb71b43527d; ASP.NET_SessionId=gdwpl255qa4onoizrrflwq55.
Проще говоря, вторая кука отбрасывается. Может быть с помощью JS можно решить данную проблему?
Помогите скачать картинку через IE или достать куки целиком.

devote 14.06.2012 10:47

Цитата:

Сообщение от eropov
Может быть с помощью JS можно решить данную проблему?

с помощью JS вы уж точно не решите этой проблемы, увы но JS не умеет работать/скачивать чужие сайты.

eropov 14.06.2012 11:24

devote
Цитата:

с помощью JS вы уж точно не решите этой проблемы, увы но JS не умеет работать/скачивать чужие сайты.
Скажите, а куки целиком можно получить?
Если можно получить куки, то я запросами к серверу скачаю картинку.

Deff 14.06.2012 11:33

eropov,
Куки текущего пользователя запросто смотряцо в Опере
http://uploads.ru/i/4/R/1/4R1Wo.png
http://uploads.ru/i/D/0/3/D03O5.png
http://uploads.ru/i/S/g/8/Sg8pF.png

eropov 14.06.2012 11:42

Цитата:

Сообщение от Deff (Сообщение 181326)
eropov,
Куки текущего пользователя запросто смотряцо в Опере
http://uploads.ru/i/4/R/1/4R1Wo.png
http://uploads.ru/i/D/0/3/D03O5.png
http://uploads.ru/i/S/g/8/Sg8pF.png

Deff
Вы меня не верно поняли.
Я имел в виду вытащить куки программно JS из браузера IE, записав значение в переменную,
а после уже прочитать эту переменную на языке AutoIT и скачать картинку запросом к серверу.:)

Deff 14.06.2012 11:51

eropov,
не пому я Вас - если прога AutoIT на компе пользователя - то неважно откель куки, вы просто эмулируете запрос якобы из сессии нужного брауза, хотя куки можно посмотреть в любом браузере

eropov 14.06.2012 12:02

Deff
Дело в том, что я получаю куки из IE (Языком программирования AutoIT(это ЯП, а не прога)), как описано выше я получаю только первую строку куки до "; " , а остальное продолжение кук получить не удается. По этому я хочу получить куки JS.

Deff 14.06.2012 12:10

eropov, Вам по идее, нужно выяснить точное имя кука - тогда можно воспользоваться функцией
http://javascript.ru/unsorted/top-10...e-deletecookie
http://ru.wikipedia.org/wiki/Cookies

eropov 14.06.2012 13:54

Deff
Не много просмотрев ваши ссылки использовал код:
function getCookie(name) {
    var matches = document.cookie.match(new RegExp(
      "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
    ))
    return matches ? decodeURIComponent(matches[1]) : undefined
}

Первую куку вызвал к просмотру так:
alert(getCookie('MSZ'));
Все работает

Вторую куку вызвал к просмотру так:
alert(getCookie('ASP.NET_SessionId'));

Не работает, говорит "undefined", хотя в запросах и в браузере кука существует по данному имени. Скажите, почему код не находит куку?

Deff 14.06.2012 14:06

eropov,
Думаю, что данный код считывания куков не работает с точной внутри имени
попробуйте такой:
<script>
function setcookie(a,b,c){if(c){var d=new Date();d.setTime(d.getTime());d=new Date(d.getTime()+c*1000*60)}if(a&&b)document.cookie=a+'='+b+(c?'; expires='+d.toGMTString():'');else return false}function getcookie(a){var b=new RegExp(a+'=([^;]){1,}');var c=b.exec(document.cookie);if(c){c=c[0].split('=')}else{return false}return c[1]?c[1]:false}

 alert(getcookie('ASP.NET_SessionId'));
</script>


Часовой пояс GMT +3, время: 11:23.