Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Программирование / Programming (https://forum.zone-game.info/forumdisplay.php?f=98)
-   -   c#, Webrequest, proxy и post data (https://forum.zone-game.info/showthread.php?t=34964)

AleBrider 01.05.2014 21:25

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

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

Дабы не засорять первый пост кучей спойлеров - добавлю ссылку на SO на топик с листингами и подробностями.
http://stackoverflow.com/questions/2...-and-post-data

n3k0nation 01.05.2014 23:59

Re: c#, Webrequest, proxy и post data
 
Цитата:

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

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

Дабы не засорять первый пост кучей спойлеров - добавлю ссылку на SO на топик с листингами и подробностями.
http://stackoverflow.com/questions/2...-and-post-data

Куда GET-запрос потеряли? ;D Почему в кип алайве не указано время?
Коннект идет случайно не на кириллический домен?

AleBrider 02.05.2014 00:16

Re: c#, Webrequest, proxy и post data
 
Цитата:

Сообщение от Pointer*Rage (Сообщение 361838)
Коннект идет случайно не на кириллический домен?

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

Сообщение от Pointer*Rage (Сообщение 361838)
Почему в кип алайве не указано время?

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

Сообщение от Pointer*Rage (Сообщение 361838)
Куда GET-запрос потеряли?

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

Стоит отметить, что без прокси все нормально уходит.

n3k0nation 02.05.2014 00:22

Re: c#, Webrequest, proxy и post data
 
Цитата:

Сообщение от AleBrider (Сообщение 361841)
Домен самый обычный, никакой кирилицы.

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

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

Стоит отметить, что без прокси все нормально уходит.

Дык почему в самом запросе его нету?
Код:

POST /post.php?tid=19 HTTP/1.1
Убрать нафиг длину запроса, она не пишется для POST (по информации возвращаемой прокси).
Плюс перейти на HTTP 1.0, ибо так просит сервер/прокси.

AleBrider 02.05.2014 00:39

Re: c#, Webrequest, proxy и post data
 
Цитата:

Сообщение от Pointer*Rage (Сообщение 361843)
Дык почему в самом запросе его нету?
Код:

POST /post.php?tid=19 HTTP/1.1
Убрать нафиг длину запроса, она не пишется для POST (по информации возвращаемой прокси).
Плюс перейти на HTTP 1.0, ибо так просит сервер/прокси.

Сработала смена протокола на 1.0, спасибо.
На версию протокола сам бы никогда не подумал, очень помогли.

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


Текущее время: 14:36. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot