Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15

неверный POST запрос

03.02.2014, 14:13. Показов 2055. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток товарищи программисты. Нужна ваша помощь , только начал разбираться с GET/POST запросами - пытаюсь отправить запрос на интернет аукцион:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
char* OpenURL(char *url) {
    WSADATA lpWSAData;
    SOCKET s;
 
    // Проверим на правильность введенный адрес.
    // Он должен начинаться с "http://"
    if (memcmp(url,"HTTP://",7)!=0 && memcmp(url,"http://",7)!=0) return(NULL);
    url+=7;
 
    // Инициализация библиотеки Ws2_32.dll.
    if (WSAStartup(MAKEWORD(1,1),&lpWSAData)!=0) return(NULL);
 
 
    // Получим имя хоста, номер порта и путь ----------------------------
 
    char *http_host=strdup(url); // Имя хоста (HTTP_HOST)
    int port_num=80;             // Номер порта по умолчанию (HTTP_PORT)
    char *http_path=NULL;        // Путь (REQUEST_URI)
 
    char *pch=strchr(http_host,':');
    if (!pch) {
        pch=strchr(http_host,'/');
        if (pch) {
            *pch=0;
            http_path=strdup(pch+1);
            }
        else http_path=strdup("");
        }
    else {
        *pch=0;pch++;
        char *pch1 = strchr(pch,'/');
        if (pch1) {
            *pch1=0;
            http_path=strdup(pch1+1);
            }
        else http_path=strdup("");
 
        port_num = atoi(pch);
 
        if (port_num==0) port_num = 80;
        }
 
    // Поучаем IP адрес по имени хоста
    struct hostent* hp;
    if (!(hp=gethostbyname(http_host))) {
        free(http_host);
        free(http_path);
        return(NULL);
        }
 
    // Открываем сокет
    s=socket(AF_INET, SOCK_STREAM, 0);
    if (s==INVALID_SOCKET) {
        free(http_host);
        free(http_path);
        return(NULL);
        }
 
    // Заполняем структуру sockaddr_in
    struct sockaddr_in ssin;
    memset ((char *)&ssin, 0, sizeof(ssin));
    ssin.sin_family = AF_INET;
    ssin.sin_addr.S_un.S_un_b.s_b1 = hp->h_addr[0];
    ssin.sin_addr.S_un.S_un_b.s_b2 = hp->h_addr[1];
    ssin.sin_addr.S_un.S_un_b.s_b3 = hp->h_addr[2];
    ssin.sin_addr.S_un.S_un_b.s_b4 = hp->h_addr[3];
    ssin.sin_port = htons(port_num);
 
    // Выводим IP адрес хоста, с которым будем соединятся
    printf("Conecting to %d.%d.%d.%d...",(unsigned char)hp->h_addr[0],
                                         (unsigned char)hp->h_addr[1],
                                         (unsigned char)hp->h_addr[2],
                                         (unsigned char)hp->h_addr[3]);
 
    // Соединяемся с хостом
    if (connect(s, (sockaddr *)&ssin, sizeof(ssin))==-1) {
        free(http_host);
        free(http_path);
        printf("Error\n");
        return(NULL);
        }
    printf("Ok\n");
 
    // Формируем HTTP запрос
    char *query=(char*)malloc(2048);
 
    strcpy(query,"POST /");
    strcat(query,http_path);
    strcat(query," HTTP/1.1\r\nHost: ");
    strcat(query,http_host);
    strcat(query,"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0\r\n");
    strcat(query,"Accept: */*\r\n");
    strcat(query,"Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\n");
    strcat(query,"Accept-Encoding: gzip, deflate\r\n");
    strcat(query,"Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n");
    strcat(query,"Referer: http://steamcommunity.com/market/listings/570/Treasure%20of%20Earth%20Essence\r\n");
    strcat(query,"Content-Lenght: 58\r\n");
    strcat(query,"Origin: http://steamcommunity.com\r\n");
    strcat(query,"Cookie: steamMachineAuth76561198040691832=CEC2B76D58035B3F321D68456505B31E9CE99F0F; steamMachineAuth76561198083666874=380334311244DA63B923AF28EE3B74731736E10E; strInventoryLastContext=570_2; Steam_Language=english; steamMachineAuth76561198015681356=A381D04187DD3E13EFE9A11AB8F17A4149C75E02; timezoneOffset=14400,0; __utma=268881843.1870351379.1391166412.1391344596.1391351788.11; __utmz=268881843.1391247842.7.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); __utma=268881843.1870351379.1391166412.1391344596.1391351788.11; __utmz=268881843.1391247842.7.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); steamRememberLogin=76561198015681356; sessionid=NjYxNjg3MjI1; steamLogin=76561198015681356%7C%7C5D8B108EE4D323287F9E73F70F7356CCD5AC4C96; steamCC_91_219_24_87=RU; webTradeEligibility=%7B%22allowed%22%3A1%2C%22allowed_at_time%22%3A0%2C%22steamguard_required_days%22%3A15%2C%22sales_this_year%22%3A18%2C%22max_sales_per_year%22%3A200%2C%22forms_requested%22%3A0%2C%22new_device_cooldown_days%22%3A7%7D; __utmb=268881843.0.10.1391421809; __utmc=268881843\r\n\r\n");
    strcat(query,"sessionid=NjYxNjg3MjI1&currency=5&subtotal=1&fee=2&total=3\r\n");
    // Выводим HTTP запрос
    printf("%s",query);
 
    // Отправляем запрос серверу
    int cnt=send(s,query,strlen(query),0);
 
    // Освобождаем память
    free(http_host);
    free(http_path);
    free(query);
 
    // Проверяем, не произошло ли ошибки при отправке запроса на сервер
     if (cnt==SOCKET_ERROR) return(NULL);
 
    cnt=1;
 
    // Получаем ответ с сервера ---------------------------------
 
    int size=1024*1024; // 1Mb
    char *result=(char*)malloc(size);
    strcpy(result,"");
    char *result_ptr=result;
 
    while (cnt!=0 && size>0) {
        cnt=recv (s, result_ptr, sizeof(size),0);
        if (cnt>0) {
            result_ptr+=cnt;
            size-=cnt;
            }
        }
    *result_ptr=0;
 
    // Деинициализация библиотеки Ws2_32.dll
    WSACleanup();
    return(result);
    }
 
int main(int argc, char *argv[]) {
    char *result=OpenURL("http://steamcommunity.com/market/buylisting/2854456659713394148");
    if (result) {
        printf("%s",result);
        free(result);
        }
    else {
        printf("Error # WSABASEERR+%d\n",WSAGetLastError()-WSABASEERR);
        }
    system("pause");
    }
Ответ на запрос

HTTP/1.1 400 Bad Request
Server: Apache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html; charset=iso-8859-1
Content-Length: 299
Accept-Ranges: bytes
Date: Mon, 03 Feb 2014 10:10:29 GMT
X-Varnish: 3215142790
Age: 0
Via: 1.1 varnish
Connection: keep-alive

Подскажите что я делаю не так? Голова уже кипит
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.02.2014, 14:13
Ответы с готовыми решениями:

Post-запрос, "Неверный логин или пароль"
Ребят, помогите пожалуйста. У меня XE3. Использую следующую функцию для отправки POST запроса: void TForm1::Login(String sURL, String...

Неверный ответ при POST-запросе
СТолкнулся с нЕведомой чуДовИщНой демоНичЕской неизвестной мне раннее проблемой. Запрос к НБКИ(бюро кредитных историй) Обычный пост...

Неверный запрос
Приве,добавляю из текстбоксов данные в запрос,но пишет что неверный синтаксис запроса myOleDbCommand.CommandText = "INSERT INTO...

14
03.02.2014, 22:51

Не по теме:

Может лучше без мучений ?
Блог: Библиотека libcurl

0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.02.2014, 10:43
Цитата Сообщение от chuckk Посмотреть сообщение
Подскажите что я делаю не так?
Покажите запрос, который отправляется на сервер (содержимое query перед
вызовом команды send).
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
04.02.2014, 12:54  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Покажите запрос, который отправляется на сервер (содержимое query перед
вызовом команды send).
Conecting to 63.228.223.103...Ok
POST /market/buylisting/2854456659692926396 HTTP/1.1
Host: steamcommunity.comUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0)
Gecko/20100101 Firefox/26.0
Accept: */*
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://steamcommunity.com/mark... 0Earth%20E
ssence
Content-Lenght: 58
Origin: http://steamcommunity.com
Cookie: steamMachineAuth76561198040691832=CEC2B7 6D58035B3F321D68456505B31E9CE99F
0F; steamMachineAuth76561198083666874=380334 311244DA63B923AF28EE3B74731736E10E;
strInventoryLastContext=570_2; Steam_Language=english; steamMachineAuth765611980
15681356=A381D04187DD3E13EFE9A11AB8F17A4 149C75E02; timezoneOffset=14400,0; __utm
a=268881843.1870351379.1391166412.139134 4596.1391351788.11; __utmz=268881843.139
1247842.7.2.utmcsr=google|utmccn=(organi c)|utmcmd=organic|utmctr=(not%20provided
); __utma=268881843.1870351379.1391166412.1 391344596.1391351788.11; __utmz=26888
1843.1391247842.7.2.utmcsr=google|utmccn =(organic)|utmcmd=organic|utmctr=(not%20
provided); steamRememberLogin=76561198015681356; sessionid=NjYxNjg3MjI1; steamLo
gin=76561198015681356%7C%7C5D8B108EE4D32 3287F9E73F70F7356CCD5AC4C96; steamCC_91_
219_24_87=RU; webTradeEligibility=%7B%22allowed%22%3A1 %2C%22allowed_at_time%22%3
A0%2C%22steamguard_required_days%22%3A15 %2C%22sales_this_year%22%3A18%2C%22max_s
ales_per_year%22%3A200%2C%22forms_reques ted%22%3A0%2C%22new_device_cooldown_days
%22%3A7%7D; __utmb=268881843.0.10.1391421809; __utmc=268881843

sessionid=NjYxNjg3MjI1&currency=5&subtot al=1&fee=2&total=3

вот еще окно с перехваченным пост запросом который мне нужно смоделировать (данные уже не те конечно)
Миниатюры
неверный POST запрос  
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.02.2014, 13:01
По виду все нормально.

Цитата Сообщение от chuckk Посмотреть сообщение
Host: steamcommunity.comUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0)
Host и User-Agent должны быть на разных строках.
1
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
04.02.2014, 13:17  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
Host и User-Agent должны быть на разных строках.
действительно... видимо случайно удалил \r\n тег потому что теперь в ответе появились 5 новых строк которые я уже видел , но почему то не обратил внимание на то что они потом пропали.. однако результат тот же
Миниатюры
неверный POST запрос  
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.02.2014, 13:52
Цитата Сообщение от chuckk Посмотреть сообщение
strcat(query,"sessionid=NjYxNjg3MjI1&cur rency=5&subtotal=1&fee=2&total=3\r\n");
А здесь перевод строки не нужен. С ним длина сообщения будет 60 байт, а не 58.
Пробуйте.
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
04.02.2014, 15:29  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
А здесь перевод строки не нужен. С ним длина сообщения будет 60 байт, а не 58.
Пробуйте.
никакой реакции. чтобы я не писал в строке для postdata в ответе вся та же ошибка 400 Bad Request
если я правильно понимаю , то при превышении длины в ответе должна быть ошибка 413 request entity too large?
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.02.2014, 15:38
Цитата Сообщение от chuckk Посмотреть сообщение
никакой реакции. чтобы я не писал в строке для postdata в ответе вся та же ошибка 400 Bad Request
Хорошо бы еще посмотреть, что в теле ответа сервера, ведь он
может вернуть некоторое текстовое (или в html) описание проблемы.
А вообще, мало данных, чтобы утверждать что-то конкретное.
Берите сниффер, смотрите, что отправляет браузер, сравнивайте
побайтно со своим сообщением.
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
04.02.2014, 18:57  [ТС]
Одним слово через Fiddler отловил запрос , заметил разницу в значении одной из переменной sessionid , в случае с Fiddler фигурируют 2 значения sessionid="MTcyMDEwMTM4NA==" и sessionid="MTcyMDEwMTM4NA%3D%3D" т е разница в последних двух символах (я так понимаю тут дело в кодировках , в чем я не силен) в случае с fiddler я смог сформировать и запрос проходит при значении sessionid= MTcyMDEwMTM4NA==. Также я заметил , что протокол не HTTP а HTTPS и я так понял формировать запрос нужно иначе потому он и не проходит в программе. Если дело в HTTPS подскажите если уж не советом , то хотя бы что почитать на эту тему , действительно стоящего.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
04.02.2014, 19:42
Цитата Сообщение от chuckk Посмотреть сообщение
в случае с Fiddler фигурируют 2 значения sessionid="MTcyMDEwMTM4NA==" и sessionid="MTcyMDEwMTM4NA%3D%3D" т е разница в последних двух символах (я так понимаю тут дело в кодировках , в чем я не силен)
Это называется URL Encoding.
Некоторые символы, передающиеся через GET- или POST-запросы
определенного типа, подлежат экранированию. В данном случае знак "="
был заменен последовательностью "%3D".

Цитата Сообщение от chuckk Посмотреть сообщение
Также я заметил , что протокол не HTTP а HTTPS и я так понял формировать запрос нужно иначе потому он и не проходит в программе.
Если Вы хотите работать с HTTPS-запросами на "низком" уровне, то есть,
на уровне сокетов и send/recv, тогда прямая дорога к OpenSSL.
Можно еще Boost.Asio прикрутить, там есть неплохая поддержка SSL.
Если нужно что-то более простое, тогда можно WinInet какой-нибудь использовать.
Правда, в этом случае не будет такого четкого контроля над происходящим.
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
06.02.2014, 15:42  [ТС]
Цитата Сообщение от Убежденный Посмотреть сообщение
.
Теперь делаю так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include "stdafx.h"
#include <string>
#include <windows.h>
#include <WinInet.h>
#include <iostream>
#pragma comment (lib, "Wininet.lib")
using namespace std;
using namespace System;
 
enum EMethod    { M_POST, M_GET };
enum EProtocol  { P_HTTP, P_HTTPS };
 
// convert strings
wstring StringToWstring(const std::string& _str)
{
    wstring wstr;
    wstr.assign(_str.begin(), _str.end());
    return wstr;
}
string WstringToString(const wstring& _wstr)
{
    string str;
    str.assign(_wstr.begin(), _wstr.end());
    return str;
}
 
// send request
wstring SendInetRequest(const EProtocol _eProtocol,
    const EMethod _eMethod,
    const wstring& _server,
    const wstring& _page,
    const wstring& _params = L"")
{
    char szData[1024];
    string recvStr;
 
    // initialize WinInet
    HINTERNET hInternet = ::InternetOpen(TEXT(""), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    if (hInternet != NULL)
    {
        INTERNET_PORT port = NULL;
        DWORD flags = NULL;
        port = INTERNET_DEFAULT_HTTPS_PORT;
        flags = INTERNET_FLAG_SECURE;
 
        // open HTTP session
        HINTERNET hConnect = ::InternetConnect(hInternet, _server.c_str(), port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
        if (hConnect != NULL)
        {
            wstring request;
            wstring method;
            wstring headers;
            string data;
            method = L"POST";
            request = _page;
            headers = L"Host: steamcommunity.com\nConnection: keep-alive\nAccept: */*\nOrigin: [url]http://steamcommunity.com\nUser-Agent:[/url] Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\nReferer: [url]http://steamcommunity.com/market/listings/570/Emerald%20Polycount%20Collection\nAccept-Encoding:[/url] gzip,deflate,sdch\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4\nCookie: steamMachineAuth76561198040691832=CEC2B76D58035B3F321D68456505B31E9CE99F0F; steamMachineAuth76561198083666874=380334311244DA63B923AF28EE3B74731736E10E; steamMachineAuth76561198015681356=A381D04187DD3E13EFE9A11AB8F17A4149C75E02; Steam_Language=english; steamRememberLogin=76561198015681356; strInventoryLastContext=570_2; sessionid=MTU1ODAzMDEzMw%3D%3D; steamLogin=76561198015681356%7C%7C5D8B108EE4D323287F9E73F70F7356CCD5AC4C96; steamCC_91_219_24_87=RU; webTradeEligibility=%7B%22allowed%22%3A1%2C%22allowed_at_time%22%3A0%2C%22steamguard_required_days%22%3A15%2C%22sales_this_year%22%3A21%2C%22max_sales_per_year%22%3A200%2C%22forms_requested%22%3A0%2C%22new_device_cooldown_days%22%3A7%7D; timezoneOffset=14400,0; __utma=268881843.1870351379.1391166412.1391615167.1391672823.26; __utmb=268881843.0.10.1391672823; __utmc=268881843";
            data = WstringToString((_params.empty() ? L"" : _params));
 
            // open request
            HINTERNET hRequest = ::HttpOpenRequest(hConnect, method.c_str(), (LPCWSTR)request.c_str(), NULL, NULL, 0, flags, 1);
            if (hRequest != NULL)
            {
                // send request
                BOOL isSend = ::HttpSendRequest(hRequest, headers.c_str(), headers.length(), (LPVOID)data.c_str(), data.length());
                if (isSend)
                {
                    for (;;)
                    {
                        // reading data
                        DWORD dwByteRead;
                        BOOL isRead = ::InternetReadFile(hRequest, szData, sizeof(szData)-1, &dwByteRead);
 
                        // break cycle if error or end
                        if (isRead == FALSE || dwByteRead == 0)
                            break;
 
                        // saving result
                        recvStr.append(szData, dwByteRead);
                        szData[dwByteRead] = 0;
                    }
                }
 
                // close request
                ::InternetCloseHandle(hRequest);
            }
            // close session
            ::InternetCloseHandle(hConnect);
        }
        // close WinInet
        ::InternetCloseHandle(hInternet);
    }
 
    wstring answer = StringToWstring(recvStr);
 
    return answer;
}
int main(array<System::String ^> ^args)
{
    wstring answer = SendInetRequest(P_HTTPS, M_POST, L"steamcommunity.com", L"/market/buylisting/2107980114608398966", L"sessionid=MTU1ODAzMDEzMw%3D%3D&currency=5&subtotal=1&fee=2&total=3");
    system("pause");
    return 0;
}
черт разберешь что не так в fiddler формирую запрос - он проходит
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST https://steamcommunity.com/market/buylisting/2107980114608398966 HTTP/1.1
Host: steamcommunity.com
Connection: keep-alive
Content-Length: 66
Accept: */*
Origin: http://steamcommunity.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://steamcommunity.com/market/listings/570/Emerald%20Polycount%20Collection
Accept-Encoding: gzip,deflate,sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: steamMachineAuth76561198040691832=CEC2B76D58035B3F321D68456505B31E9CE99F0F; steamMachineAuth76561198083666874=380334311244DA63B923AF28EE3B74731736E10E; steamMachineAuth76561198015681356=A381D04187DD3E13EFE9A11AB8F17A4149C75E02; Steam_Language=english; steamRememberLogin=76561198015681356; strInventoryLastContext=570_2; sessionid=MTU1ODAzMDEzMw%3D%3D; steamLogin=76561198015681356%7C%7C5D8B108EE4D323287F9E73F70F7356CCD5AC4C96; steamCC_91_219_24_87=RU; webTradeEligibility=%7B%22allowed%22%3A1%2C%22allowed_at_time%22%3A0%2C%22steamguard_required_days%22%3A15%2C%22sales_this_year%22%3A21%2C%22max_sales_per_year%22%3A200%2C%22forms_requested%22%3A0%2C%22new_device_cooldown_days%22%3A7%7D; timezoneOffset=14400,0; __utma=268881843.1870351379.1391166412.1391615167.1391672823.26; __utmb=268881843.0.10.1391672823; __utmc=268881843;
 
sessionid=MTU1ODAzMDEzMw%3D%3D&currency=5&subtotal=1&fee=2&total=3
тот же самый запрос в консоле - ловлю фидлером - ошибка 400
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
POST https://steamcommunity.com/market/buylisting/2107980114608398966 HTTP/1.1
Host: steamcommunity.com
Connection: keep-alive
Accept: */*
Origin: http://steamcommunity.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://steamcommunity.com/market/listings/570/Emerald%20Polycount%20Collection
Accept-Encoding: gzip,deflate,sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: Steam_Language=english; timezoneOffset=14400,0; __utma=268881843.1927695593.1391167624.1391554368.1391591121.8; __utmz=268881843.1391167624.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); steamMachineAuth76561198040691832=BF2E292A52A7C278BFD3415FE8CB9A042E366E96; steamMachineAuth76561198015681356=21E5261CDAB8C94EF3EA063CA4F2DD67BF034547; strInventoryLastContext=570_2; steamRememberLogin=76561198015681356
Content-Length: 66
Cache-Control: no-cache
 
sessionid=MTU1ODAzMDEzMw%3D%3D&currency=5&subtotal=1&fee=2&total=3
И ответ на него
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
HTTP/1.1 200 OK
Date: Thu, 06 Feb 2014 11:14:22 GMT
Server: Apache
Access-Control-Allow-Origin: http://steamcommunity.com
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 604800
Access-Control-Expose-Headers: true
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 301
Connection: close
Content-Type: application/json; charset=utf-8
 
{"wallet_info":{"wallet_currency":5,"wallet_country":"RU","wallet_fee":1,"wallet_fee_minimum":1,"wallet_fee_percent":"0.05","wallet_publisher_fee_percent_default":"0.10","wallet_fee_base":0,"wallet_balance":4093,"wallet_max_balance":1550000,"wallet_trade_max_balance":1240000,"success":1,"rwgrsn":-2}}
ответ на консольный запрос
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
HTTP/1.1 400 Bad Request
Date: Thu, 06 Feb 2014 11:12:50 GMT
Server: Apache
Access-Control-Allow-Origin: http://steamcommunity.com
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 604800
Access-Control-Expose-Headers: true
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache
Pragma: no-cache
Set-Cookie: sessionid=MTYxNTUxMjIwNA%3D%3D; path=/
Content-Length: 2
Connection: close
Content-Type: application/json; charset=utf-8
 
[]
единственное различие в кукис как будто половина не передается уже не знаю в чем дело, если связано с авторизацией то почему в случае с запросом fiddler все нормально , а с консоли ошибка 400?
на всяких случай для наглядности прилагаю эти два запроса
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
06.02.2014, 15:45  [ТС]
файл
Вложения
Тип файла: rar 1.rar (4.7 Кб, 19 просмотров)
0
2 / 2 / 0
Регистрация: 22.11.2013
Сообщений: 26
06.02.2014, 22:50
Http снифер у тебя стоит?Что он показывает?
0
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 15
07.02.2014, 12:12  [ТС]
Цитата Сообщение от reef213 Посмотреть сообщение
Http снифер у тебя стоит?Что он показывает?
Fiddler как бы и есть сниффер и пост выше как бы и есть то что он показывает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.02.2014, 12:12
Помогаю со студенческими работами здесь

Неверный запрос
почему запрос idhouse,id 1 1 1 2 2 3 2 4 SELECT idhouse,id FROM flat GROUP BY idhouse

Неверный запрос
Есть функция function access_level($level){ if (!preg_match('/^+$/', $_COOKIE)) return false; $sql_1 = &quot;SELECT role.access_level...

Неверный запрос
В общем имеются 3 таблицы Orders (Заказы) и OrdersSpares (Заказы запчастей) и User (Пользователи) необходимо подсчитать общее количество...

Неверный запрос
Привет всем у меня что -то не выходит с запросом вот он$res2 = mysqlQuery(&quot;SELECT * FROM irbis_order, irbis_user WHERE...

$.post выводит функцию успеха, даже когда исполняемого файла нет или указан неверный путь!
В одном из скриптов выполнял следующее: $.post( &quot;http://domain.ru/c_scr/source.php&quot;, {local_sor: atri}, alert('success!')); После...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru