POST, новый метод получения куков через C# что-то не работает(

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
После переноса моей темы, почему-то в нее немогу постить, пишу заного. Старая тема тут.

Записал скринкаст http://screencast.com/t/y2CdSguCN

Все вроде сделано правильно:
Авторизуюсь через записанные действия, далее получаю куки новым методом чз C#, куки получаются на тесте, передаю в GET (для примера), а он не отображает содержимое сайта, выкидывает на форму авторизации.

Что я делаю не так? Мне нужно работать внутри этого сайта POST и GET запросами, хочу облегчить свой тяжелый шаблон на блоках.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 068
Благодарностей
5 722
Баллы
113
GET запрос не открывает страницу в браузере. Он только получает в переменную содержимое страницы
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
GET запрос не открывает страницу в браузере. Он только получает в переменную содержимое страницы
Так он и не открывает, там последний блок C# отображает содержимое GET, что я показал в видео, упирается в форму, авторизации.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
А вы не пробовали авторизацию тоже сделать на пост/гет запросах?
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
А вы не пробовали авторизацию тоже сделать на пост/гет запросах?
У каждого сайта, своя сложность авторизации, проще сделать авторизацию блоками, чем высниффовывать значения, тем более в фотостране, используются токены, просто так постом не пролезишь, надо организовать его выпарсивание, сейчас попробую, пока не отвтит кто с решинием проблемы рабочести вытаскивания кук с# из инстанса.
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
Войти получилось, но приходится выпарсить куки на каждый шаг, что трудоемко... нужно, чтобы заработал метод через c# объвленный в последней версии.
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
Войти получилось, но приходится выпарсить куки на каждый шаг, что трудоемко... нужно, чтобы заработал метод через c# объвленный в последней версии.
Пытаюсь отправить каритнку, приходит пустое содеражание ответа, заголовки:
Пробую отправить картинку, приходит пустой ответ, заголовки:
HTTP/1.1 100 Continue HTTP/1.1 200 OK Server: nginx Date: Wed, 30 Oct 2013 16:31:43 GMT Content-Type: text/html; charset=windows-1251 Content-Length: 168 Connection: keep-alive Set-Cookie: uea=1; expires=Fri, 07-Feb-2014 16:31:43 GMT; path=/; domain=.fotostrana.ru Expires: Thu, 01 Jan 1970 00:00:01 GMT Last-Modified: Wed, 30 Oct 2013 16:31:43 GMT Cache-Control: no-store, no-cache, must-revalidate Cache-Control: post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: ab_nopopup_inst_group=0; expires=Fri, 29-Nov-2013 16:31:43 GMT; path=/; domain=.fotostrana.ru
в чем проблема?

Отправляю такие данные:

--8d098b443025d75
Content-Disposition: form-data; name="photo"; filename="01.jpg"
Content-Type: image/jpeg

{-Project.Directory-}01.jpg
--8d098b443025d75
Content-Disposition: form-data; name="type"

1
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
А ответ сниффается, почему тогда блок POST не выдает содержание, а просто пустоту?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Вы пытаетесь картинку запостить в свой аккаунт? попробую сейчас сам сделать)) что то вы меня заинтриговали)))
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
Там на c# не выдавал содержимое post (я так отлаживаю), а так данные выдавались, то есть все работает.
ТАкая вот гора вышла:http://gyazo.com/afdd1e39c0f4502cd087106e7f8bc083
А хотелось обещанной компактности чз c# instance.cookie. Кто может проверить рабочесть метода и выложить пример как его юзать?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
А елки))) как раз я уже половину написал))))) я пробовал через GetCookie что то у меня не получилось, поэтому я решил что лучше старый, но проверенный костыль)))
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Посмотреть вложение фотострана.xmlz А ладно) выложу все равно))) вдруг кто искать будет как это сделать, а то на форуме все есть, но хрен найдешь))))
c# кода по работе с куками инстанса нет.
Зато есть пост и гет запросы)))) Я так понима много кому интересно как они работают)
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
У вас отличие, вы подклеивали куки2 к кукам 1, а я выпарсивал куку до входа и после и последней уже пользовался (такой метод тоже выходит работает).
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Я просто когда снифал - увидел что первые куки тоже отправляются ну и решил не придумывать велосипед))))
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
Теперь другая задача, как после авторизации POST, передать куки в инстанс и начать работать внутри сайта, посредством обычных замакросенных действий?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 068
Благодарностей
5 722
Баллы
113

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
Новая проблема, на нескольких сайтах все нормально работает. А на другом после логина и переброса кук в новое действие, скажем на get, выбрасывает на авторизацию, в чем может быть проблема? Нет рефферера? Не нашел где zenno post/get...
 

Bernhard

Client
Регистрация
17.08.2013
Сообщения
86
Благодарностей
5
Баллы
8
Как передать referer в post и get ?
 

darkdiver

Administrator
Команда форума
Регистрация
13.01.2009
Сообщения
2 285
Благодарностей
2 732
Баллы
113
Через действия никак, можно через C# макрос.
Для Get запроса
JavaScript:
return ZennoPoster.HttpGet("http://www.whatismyreferer.com/", AdditionalHeaders: new [] {"Referer: http://www.zennolab.com/"});
для POST аналогично.
 

Saulius S.

Client
Регистрация
19.08.2016
Сообщения
45
Благодарностей
8
Баллы
8
нарыл новый способ для получения куков через гет запросы бес использования браузера. Сперва надо на локальный компьютер или на удалённый сервер установить denwer с разрешением curl, потом на сервер ставим вот такой php код:
<?php
$get_cookie_page = 'http://google.com';
echo curl_download($get_cookie_page);

function curl_download($Url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
$http_headers = array(
'Host: www.google.com',
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2',
'Accept: */*',
'Accept-Language: en-us,en;q=0.5',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Connection: keep-alive'
);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
?>

А уже потом когда получили куки через гет запрос можно и спокойно взять и использовать как угодно. Надеюсь инфа кому то поможет, это только идея...
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
1 001
Благодарностей
389
Баллы
83
нарыл новый способ для получения куков через гет запросы бес использования браузера. Сперва надо на локальный компьютер или на удалённый сервер установить denwer с разрешением curl, потом на сервер ставим вот такой php код:
<?php
$get_cookie_page = 'http://google.com';
echo curl_download($get_cookie_page);

function curl_download($Url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
$http_headers = array(
'Host: www.google.com',
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2',
'Accept: */*',
'Accept-Language: en-us,en;q=0.5',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Connection: keep-alive'
);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
?>

А уже потом когда получили куки через гет запрос можно и спокойно взять и использовать как угодно. Надеюсь инфа кому то поможет, это только идея...
А через с# кубик методом getcooke,не судьба,зачем мудрить?
 

Saulius S.

Client
Регистрация
19.08.2016
Сообщения
45
Благодарностей
8
Баллы
8

silent

Client
Регистрация
05.04.2014
Сообщения
237
Благодарностей
85
Баллы
28
  • Спасибо
Реакции: Sanekk

TheBoss

Client
Регистрация
30.03.2015
Сообщения
622
Благодарностей
245
Баллы
43

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)