Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2022, 20:58   #1
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
Восклицание Код работает только через Fiddler

Всем привет. Есть код который отправляет обычный POST запрос на получение данных от сервера, столкнулся с ситуацией когда запускаю запрос через Fiddler - результат 200 и данные получены, но стоит сделать напрямую то результат 503.

Один и тот же запрос с параметрами и куками.
Я установил HTTP Debugger и смотрел через него что посылает Fiddler и что посылает мой код напрямую. Все одинаково буква в букву. Причем если взять в HTTP Debugger этот запрос c результатом 503 и отправить с этими же заголовками, то результат будет 200 и данные получены.

Изначально делал на TidHTTP, потом решил протестировать на Synapse, результат одинаковый.
Через Fiddler работает, а напрямую нет.

Прошу подсказать где прячется ошибка.

Код синапса ниже.

Код:
var
  http: THTTPSend;
  PostParams: TStringStream;
begin
  http := THTTPSend.Create;
  http.Document.Clear;
  http.Headers.Clear;
  if CheckBox1.Checked then
  begin
    http.ProxyHost:='127.0.0.1';
    http.ProxyPort:='8810';
  end ;
  PostParams := TStringStream.Create('');
  PostParams.WriteString
    ('action=im_ajax_call&perform=get_results&model%5B%5D=GLS&model%5B%5D=S-Class&page=1&ext_color_generic%5B%5D=Black&_refreshed=true&_nonce=75e7a7d05bc62676351df44037f6d31e&_post_id=6&_referer=/new-vehicles/');
  http.Protocol := '1.1';
  http.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36';
  http.Headers.Add('Accept: application/json, text/javascript, */*; q=0.01');
  http.Headers.Add('Accept-Encoding: gzip, deflate');
  http.Headers.Add('Accept-Language: en-US,en;q=0.9');
  http.Headers.Add('X-Requested-With: XMLHttpRequest');
  http.Cookies.text := ChromeCookies;
  http.Document.LoadFromStream(PostParams);
  http.MimeType := 'application/x-www-form-urlencoded; charset=UTF-8';

  http.HTTPMethod('POST', 'https://www.site.com/');

  PostParams.Free;
  http.Free;
D_E_N вне форума Ответить с цитированием
Старый 02.04.2022, 14:21   #2
KAPTOH
 
Регистрация: 04.03.2020
Сообщений: 6
По умолчанию

сталкивался с этим, используйте System.Net.HttpClient
KAPTOH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы со звуком на ноутбуке, работает через раз. Помогает только перезагрузка. Ylia_ Компьютерное железо 3 07.02.2017 17:49
Код работает только на машине, где собран xManiac Общие вопросы C/C++ 2 27.11.2014 14:57
сайт работает только через админ меню osven Помощь студентам 1 30.09.2012 18:11
Комментарии. Только при пин-коде. Почему работает только 1 пи код? Bushel PHP 1 23.10.2010 18:21
Проблема: ася работает только на одном из двух компов (через роутер) Sazary Свободное общение 4 13.03.2009 15:04