c#, Webrequest, proxy и post data - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Ответ
Опции темы
Непрочитано 01.05.2014, 21:25   #1
Аватар для AleBrider
Пользователь

Автор темы (Топик Стартер) c#, Webrequest, proxy и post data

Думаю тут есть люди, должным образом понимающие механизмы работы http и прокси серверов, поэтому задам вопрос, на который на SO ответа не нашлось:

Собственно, имеется цепочка c# программа->proxy (обычный http прокси)->целевой сервер.
Через данную цепочку исправно проходят GET запросы и POST без параметров, но стоит добавить любой контент и прокси сервер возвращает ошибку.
Сравнивал заголовки и сам передаваемый контент - на первый взгляд все совпадает с данными, отправляемыми обычным браузером.
Ответ, возвращаемый сервером:
Свернуть ↑Развернуть ↓

Дабы не засорять первый пост кучей спойлеров - добавлю ссылку на SO на топик с листингами и подробностями.
http://stackoverflow.com/questions/2...-and-post-data
__________________
AleBrider вне форума Ответить с цитированием
Непрочитано 01.05.2014, 23:59   #2
Аватар для n3k0nation
Antihero

По умолчанию Re: c#, Webrequest, proxy и post data

Цитата:
Сообщение от AleBrider Посмотреть сообщение
Думаю тут есть люди, должным образом понимающие механизмы работы http и прокси серверов, поэтому задам вопрос, на который на SO ответа не нашлось:

Собственно, имеется цепочка c# программа->proxy (обычный http прокси)->целевой сервер.
Через данную цепочку исправно проходят GET запросы и POST без параметров, но стоит добавить любой контент и прокси сервер возвращает ошибку.
Сравнивал заголовки и сам передаваемый контент - на первый взгляд все совпадает с данными, отправляемыми обычным браузером.
Ответ, возвращаемый сервером:
Свернуть ↑Развернуть ↓

Дабы не засорять первый пост кучей спойлеров - добавлю ссылку на SO на топик с листингами и подробностями.
http://stackoverflow.com/questions/2...-and-post-data
Куда GET-запрос потеряли? ;D Почему в кип алайве не указано время?
Коннект идет случайно не на кириллический домен?
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Непрочитано 02.05.2014, 00:16   #3
Аватар для AleBrider
Пользователь

Автор темы (Топик Стартер) Re: c#, Webrequest, proxy и post data

Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
Коннект идет случайно не на кириллический домен?
Домен самый обычный, никакой кирилицы.
Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
Почему в кип алайве не указано время?
request.Headers.Add("Keep-Alive: timeout=15");
Проставил, результат прежний.
Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
Куда GET-запрос потеряли?
Тут не особо понял, запрос изначально шлется post методом.
request.Method = "POST";

Стоит отметить, что без прокси все нормально уходит.
__________________
AleBrider вне форума Ответить с цитированием
Непрочитано 02.05.2014, 00:22   #4
Аватар для n3k0nation
Antihero

По умолчанию Re: c#, Webrequest, proxy и post data

Цитата:
Сообщение от AleBrider Посмотреть сообщение
Домен самый обычный, никакой кирилицы.

request.Headers.Add("Keep-Alive: timeout=15");
Проставил, результат прежний.

Тут не особо понял, запрос изначально шлется post методом.
request.Method = "POST";

Стоит отметить, что без прокси все нормально уходит.
Дык почему в самом запросе его нету?
Код:
POST /post.php?tid=19 HTTP/1.1
Убрать нафиг длину запроса, она не пишется для POST (по информации возвращаемой прокси).
Плюс перейти на HTTP 1.0, ибо так просит сервер/прокси.
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 02.05.2014, 00:39   #5
Аватар для AleBrider
Пользователь

Автор темы (Топик Стартер) Re: c#, Webrequest, proxy и post data

Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
Дык почему в самом запросе его нету?
Код:
POST /post.php?tid=19 HTTP/1.1
Убрать нафиг длину запроса, она не пишется для POST (по информации возвращаемой прокси).
Плюс перейти на HTTP 1.0, ибо так просит сервер/прокси.
Сработала смена протокола на 1.0, спасибо.
На версию протокола сам бы никогда не подумал, очень помогли.

Добавлено через 6 часов 46 минут
Небольшое уточнение, возможно кому-то поможет:
При смене протокола с 1.1 на 1.0 данные принудительно зипаются при наличии соотв. заголовка, при 1.1 такого не наблюдалось.
В своем случае просто убрал заголовок, ибо лишнее.
__________________

Последний раз редактировалось AleBrider; 02.05.2014 в 07:27. Причина: Добавлено сообщение
AleBrider вне форума Ответить с цитированием
Ответ

Метки
c# (4 framework), proxy, люблю ози


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мануал! Установка ява сервера SF, RT, ST etc. PROGRAMMATOR Тех-документация 567 28.02.2021 18:13
Сборка Trinity Core под версию 3.3.5а Perfecto Готовые сборки 194 04.01.2014 18:50
Ядра от ZG-Team Perfecto Ядра 95 03.11.2010 21:22
zone_vertices tymboss Lineage II 0 19.03.2010 23:53
Ява сервер от команды L2jServer Gracia (CT2) ревизия 5410 _NEO_PK Lineage II 38 11.12.2008 17:16


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 16:39. Часовой пояс GMT +3.

Вверх