Неверный запрос HTTP - перехват браузера - PullRequest
1 голос
/ 20 сентября 2009

Я перехватываю отправку Firefox и WSARecv. Send должен удалить заголовок gzip (=> Accept-Encoding: none), а хук WSARecv отредактирует данные.

На данный момент функция WSARecv не изменяет никаких данных, а только распечатывает их для журнала отладки. Многие сайты работают, но иногда изображения не загружаются или страница не загружается.

Я мог найти следующий ответ сервера (Ошибка 400 Bad Request) в ответе bing.com в функции WSARecv:

Hooked Send GET /fd/ls/l?IG=c5c4c27da26c4c5db3e1ed6adbfafc0d&TYPE=Event.ClientInst&DATA=%5B%7B%22T%22:%22CI.Init%22,%22FID%22:%22CI%22,%22Name%22:%22Base%22,%22TS%22:1253465714457%7D,%7B%22W%22%3A1670%2C%22H%22%3A701%2C%22T%22:%22CI.Dims%22,%22FID%22:%22HP%22,%22Name%22:%22br%22,%22TS%22:1253465714457%7D,%7B%22Data%22%3A-1%2C%22T%22:%22CI.Test%22,%22FID%22:%22HP%22,%22Name%22:%22IsLive%22,%22TS%22:1253465714457%7D,%7B%22Time%22%3A489%2C%22T%22:%22CI.Load%22,%22FID%22:%22HP%22,%22Name%22:%22bg%22,%22TS%22:1253465714946%7D%5D HTTP/1.1<br> 00001138 3.75038576 [4024] Host: a4.bing.com<br> 00001139 3.75038576 [4024] User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.3) Gecko/20090824 YFF35 Firefox/3.5.3 (.NET CLR 3.5.30729)<br> 00001140 3.75038576 [4024] Accept: image/png,image/<em>;q=0.8,</em>/<em>;q=0.5<br> 00001141 3.75038576 [4024] Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3<br> 00001142 3.75038576 [4024] Accept-Encoding: none<br> 00001143 3.75038576 [4024] Accept-Charset: ISO-8859-1,utf-8;q=0.7,</em>;q=0.7<br> 00001144 3.75038576 [4024] Keep-Alive: 300<br> 00001145 3.75038576 [4024] Connection: keep-alive<br> 00001146 3.75038576 [4024] Referer: <a href="http://www.bing.com/" rel="nofollow noreferrer">http://www.bing.com/</a><br> 00001147 3.75038576 [4024] Cookie: MUID=D22A51BCBBD54DD3BE74682327101C0A; SRCHD=MS=904338&D=792606&AF=IE8SRC; SRCHUSR=AUTOREDIR=0&GEOVAR=&DOB=20090704; SRCHUID=V=2&GUID=2069ECD3092B453ABFCB9C4762409ACD; _HOP=; _FS=mkt=de-DE&ui=de-DE<br> (end of header)</p> <p>Hooked WSARecv<br> 00001152 4.03753757 [4024] HTTP/1.1 204 No Content<br> 00001153 4.03753757 [4024] Cache-Control: private<br> 00001154 4.03753757 [4024] Content-Length: 0<br> 00001155 4.03753757 [4024] P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND", policyref="http://privacy.msn.com/w3c/p3p.xml"<br> 00001156 4.03753757 [4024] Date: Sun, 20 Sep 2009 16:55:17 GMT<br> 00001157 4.03753757 [4024] Connection: keep-alive<br> 00001158 4.03753757 [4024]<br> 00001159 4.03753757 [4024] HTTP/1.0 400 Bad Request<br> 00001160 4.03753757 [4024] Server: AkamaiGHost<br> 00001161 4.03753757 [4024] Mime-Version: 1.0<br> 00001162 4.03753757 [4024] Content-Type: text/html<br> 00001163 4.03753757 [4024] Content-Length: 216<br> 00001164 4.03753757 [4024] Expires: Sun, 20 Sep 2009 16:55:17 GMT<br> 00001165 4.03753757 [4024] Date: Sun, 20 Sep 2009 16:55:17 GMT<br> 00001166 4.03753757 [4024] Connection: close<br> 00001167 4.03753757 [4024]<br> 00001168 4.03753757 [4024] 00001169 4.03753757 [4024] Bad Request 00001170 4.03753757 [4024] 00001171 4.03753757 [4024] <H1>Bad Request</H1> 00001172 4.03753757 [4024] Your browser sent a request that this server could not understand.<P> 00001173 4.03753757 [4024] Reference&#32;&#35;7&#46;cea432c3&#46;1253465717&#46;0 00001174 4.03753757 [4024] 00001175 4.03753757 [4024]

Мой вопрос: что не так с моими заголовками HTTP? Почему на некоторых страницах появляется ошибка 400 Это Accept-Encoding: нет?

Спасибо за чтение:)

1 Ответ

2 голосов
/ 24 октября 2009

«none» не является допустимым значением для заголовка «Accept-Encoding». Не все серверы смотрят на этот заголовок, но те, которые это делают, обычно проверяют его перед использованием. Чтобы сервер отправлял несжатые данные, вообще опустите заголовок или установите вместо него «identity».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...