POST даёт неверную кодировку в ответе

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
Привет,

Использую POST запрос в JSON формате.

Вот исходные настройки:

2015-01-04_14-48-51.jpg 2015-01-04_14-47-37.jpg


Ответ приходит:

Код:
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 04 Jan 2015 11:49:53 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 130
Connection: keep-alive


{"id":"54a9283fe4b05718c244bb18","message":"������ :)","inbox":false,"unread":false,"date":"2015-01-04T11:47:11.148Z"}
Что нужно поправить? Данные все брал из Fiddler.

Вот его ответ:

Код:
POST URL HTTP/1.1
Host: URL
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: application/json, text/plain, */*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/json;charset=utf-8
Referer: URL
Content-Length: 29
Cookie: _ga=GA1.2.913676880.1420369606; _gat=1; session="2f3efce229$2a$10$3SqRUSaaEiFD2ItE/M37VO"; remember=3e2c6bd983$2a$10$KnFomIqWAMls8kVTHMGjl; i18next=ru-RU
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

{"message":"Привет :)"}
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 04 Jan 2015 11:14:10 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 124
Connection: keep-alive

{"id":"54a91fe0e4b0093d4982d09b","message":"Привет :)","inbox":false,"unread":false,"date":"2015-01-04T11:11:28.272Z"}
P.S. URL убрал, но все они одинаковые.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
может этого не хватает?
Accept: application/json, text/plain, */*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Какая версия зенопостера?
 

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
версия 5.7.1

а куда эти заголовки засунуть?
 

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
я конечно не гуру исследования заголовков, но как я понимаю Accept означает, что сервер понимает эти настройки, а передавать их или нет решает клиент?

ну и конечно непонятно что именно постер там передаёт ибо дебага в нём нет никакого.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
прокси от fiddler впишите в PM и смотрите в фиддлере.
 

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
а нет
я прокси неверно прописал

вот что fiddler вернул

Код:
POST URL HTTP/1.1
Host: URL
Accept: */*
Cookie: session=2c32f7eae2$2a$10$1riyFZ6YVpF8h3cu45vN;
remember="81e51fa256$2a$10$uvG9V26EFRg82HzurISGH";:
i18next=ru-RU:
Content-Type: application/json;charset=utf-8
Referer: URL
Content-Length: 23

{"message":"       :)"}
правда он ругается при запросе

Incorectly formed request headers.
Missing colon in header #4, remember="81e51fa256$2a$10$uvG9V26EFRg82HzurISGH";
Missing colon in header #5, i18next=ru-RU;
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
в куках ошибка
Cookie: session=2c32f7eae2$2a$10$1riyFZ6YVpF8h3cu45vN;
remember="81e51fa256$2a$10$uvG9V26EFRg82HzurISGH";:
i18next=ru-RU:
 

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
в куках ошибка
Cookie: session=2c32f7eae2$2a$10$1riyFZ6YVpF8h3cu45vN;
remember="81e51fa256$2a$10$uvG9V26EFRg82HzurISGH";:
i18next=ru-RU:
вижу
впихнул кукисы в 1 строку
теперь ошибок не выдаёт, но проблема осталась

Код:
POST URL HTTP/1.1
Host: URL
Accept: */*
Cookie: session=2c32f7eae2$2a$10$1riyFZ6YVpF8h3cu45vN; remember="81e51fa256$2a$10$uvG9V26EFRg82HzurISGH"; i18next=ru-RU
Content-Type: application/json;charset=utf-8
Referer: URL
Content-Length: 23

{"message":"       :)"}
я так понимаю, POST запрос уже отправляется в неверной кодировке почему-то
 

rostonix

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

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
В общем ситуация такая.

Сделал запрос через C#

Код:
string response = String.Empty;
string cookie = project.Variables["cookie"].Value;
string message = project.Variables["message"].Value;
//byte[] bytes = Encoding.Default.GetBytes(message);
//message = Encoding.ASCII.GetString(bytes);
try
{
    response = ZennoPoster.HttpPost(
        "https://URL",
        message,
        "application/json;charset=windows-1251",
        "127.0.0.1:8888",
        "UTF-8",
        ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
        60,
        cookie,
        "User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0",
        false,
        0,
        AdditionalHeaders: new [] {"Referer: https://URL","Accept: application/json, text/plain, */*","Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3","Accept-Encoding: gzip, deflate","Connection: keep-alive","Pragma: no-cache","Cache-Control: no-cache"}
    );
} catch (Exception ex) { return "bad_post"; }
return response;
В кодировке UTF-8 та же беда, поставил windows-1251, теперь Фидлер нормально отображает Пост запрос со всеми заголовками

Код:
POST https://URL HTTP/1.1
User-Agent: User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
Host: URL
Cookie: Cookie: _ga=GA1.2.913676880.1420369606; _gat=1; session="2f3efce229$2a$10$3SqRUSaaEiFD2ItE/; remember=3e2c6bd983$2a$10$KnFomIqWAMls8kVTHMGjl; i18next=ru-RU
Content-Type: application/json;charset=windows-1251
Cache-Control: no-cache
Pragma: no-cache
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept: application/json, text/plain, */*
Referer: https://URL
Content-Length: 23

{"message":"Привет :)"}
но обратно возвращает всё равно ерунду

Код:
HTTP/1.1 200 Connection Established
FiddlerGateway: Direct
StartTime: 09:27:13.853
Connection: close

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 06 Jan 2015 06:32:09 GMT
Content-Type: application/json;charset=utf-8
Content-Length: 130
Connection: keep-alive


{"id":"54ab80c3e4b0231617","message":"������ :)","inbox":false,"unread":false,"date":"2015-01-06T06:29:23.082Z"}
в общем не могу никак эту штуку победить :-)
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
пощите на форуме статью про перекодировку.
 
Последнее редактирование:

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28

KirillOFF

Client
Регистрация
18.12.2010
Сообщения
1 127
Благодарностей
517
Баллы
113

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
В общем с помощью добрых людей проблема решена :-) Там оказывается всё не так просто :-)
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113

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