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

Bernhard

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

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

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

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

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
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 067
Благодарностей
5 714
Баллы
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 730
Баллы
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
Сообщения
44
Благодарностей
7
Баллы
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
Сообщения
999
Благодарностей
390
Баллы
63
нарыл новый способ для получения куков через гет запросы бес использования браузера. Сперва надо на локальный компьютер или на удалённый сервер установить 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
Сообщения
44
Благодарностей
7
Баллы
8

silent

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

TheBoss

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

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