Как выбрать способ отправки запросов (Стандартный|Альтернативный)?

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
Есть шаблон который отправляет куда-то запросы.
Всегда требуется отправка запросов Стандартным методом.
Но, определенные запросы "не едут" этим методом - и приходится отправлять их Альтернативным методом.

Как в C# указать каким методом я хочу отправить следующий запрос?
66912

В справке нашел что-то такое, но как это применить - пока познаний недостаточно...
ZennoLab.InterfacesLibrary.Enums.Http Namespace : HttpClientSettings Enumeration
Members
MemberDescription
OVERRIDE_TO_CHILKAT
OVERRIDE_TO_ZENNOLIB
UNKNOWN
USE_FROM_SETTINGS
 
  • Спасибо
Реакции: gomoney

one

Client
Регистрация
22.09.2015
Сообщения
6 834
Благодарностей
1 275
Баллы
113
А в чем собственно разница у этих типов передачи запросов?
 
  • Спасибо
Реакции: BAZAg

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 529
Благодарностей
3 375
Баллы
113
А в чем собственно разница у этих типов передачи запросов?
Стандартный - сторонний Chilkat (содержащий некоторые баги),
Альтернативный - замена Chilkat, разработка ZennoLab на основе xNet/LeafNet.

Но на 2024 год с ZP7 надо использовать отдельный curl.
 
Последнее редактирование:
  • Спасибо
Реакции: BAZAg и one

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 019
Баллы
93
Только на днях описывал, что промучался 3 часа с api epn, а в итоге проблема была из-за использования ZennoPoster.httpPost(). Zymlex скинул код, с ним всё заработало - link
 
  • Спасибо
Реакции: Yuriy Zymlex и BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
А в чем собственно разница у этих типов передачи запросов?
В том что если мне нужно отправит запрос такой
Код:
http://site.ru/?http%3A//site2.ru
- то я не представляю как именно мне его отправить - стандартный метод искажает его и отправляет как
Код:
http://site.ru/?http%253A%2F%2Fsite2.ru
.

Использовать всегда Альтернативный без надобности я не хочу - так как от Стандартного я хотя бы примерно представляю чего можно ожидать, а как ведёт себя Альтернативный всегда - этого я не знаю. Получается, мне нужно более тщательно изучить как себя ведёт первый и как себя всегда ведёт второй на более низком уровне. А информации об этом я не вижу на форуме. Из-за чего решил найти способ переключаться между способами отправки запросов.

Есть кто-то, кто сможет объяснить как переключаться между способами запросов через C#?
Очевидно, что если в документации такой функционал есть - значит это как-то возможно...
Или хотя бы как с C# узнать какой именно способ отправки запросов сейчас в текущий момент используется когда будет выполнен код:
Код:
return ZennoPoster.HTTP.Request(    method: HttpMethod.GET,   url: "https://site.ru");
volody00 сказал(а):
Только на днях описывал, что промучался 3 часа с api epn, а в итоге проблема была из-за использования ZennoPoster.httpPost(). Zymlex скинул код, с ним всё заработало - link
Это чуток не туда - это использование разных методов отправки запросов, но что первый использует выбранный тип Альтернативный или Стандартный, который выбран в настройках шаблона.
 
  • Спасибо
Реакции: Alexmd

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 019
Баллы
93
Вроде бы первый как раз стандартный, а второй альтернативный. А в кубиках просто переключатель поставили
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
Вроде бы первый как раз стандартный, а второй альтернативный. А в кубиках просто переключатель поставили
Вы в этом уверены на 100%?
Нужно тогда подтверждения разработчиков.
 

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 019
Баллы
93
Нет, уточни. Но по логике так, т.к. раньше не было никакого альтернативного и он вроде появился одновременно с ZennoPoster.HTTP.Request
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
Нет, уточни. Но по логике так, т.к. раньше не было никакого альтернативного и он вроде появился одновременно с ZennoPoster.HTTP.Request
Так я для этого и уточняю публично - чтобы все остальные также уже могли знать ответ на данный вопрос.
Это не только я в замешательстве...
Не ясно как это работает - действительно ли на старые методы не влияет настройка Альтернатива/Стандартный или нет...
Тогда это упростило бы задачу - когда нужно использовать Стандарт - используем старые методы, когда Альтернативный - тогда новые методы. Это утверждение будет верным или нет?
 
  • Спасибо
Реакции: SHILY

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 423
Баллы
113
Использовать всегда Альтернативный без надобности я не хочу - так как от Стандартного я хотя бы примерно представляю чего можно ожидать, а как ведёт себя Альтернативный всегда - этого я не знаю. Получается, мне нужно более тщательно изучить как себя ведёт первый и как себя всегда ведёт второй на более низком уровне. А информации об этом я не вижу на форуме. Из-за чего решил найти способ переключаться между способами отправки запросов.
Поддерживаю и присоединяюсь к вопросу о переключении способа из кода только для тех единичных запросов, где это нужно.
 
  • Спасибо
Реакции: SHILY и BAZAg

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 529
Благодарностей
3 375
Баллы
113
Пока, в коде нет возможности указывать способ.
 
  • Спасибо
Реакции: SHILY и BAZAg

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 019
Баллы
93
Так я для этого и уточняю публично - чтобы все остальные также уже могли знать ответ на данный вопрос.
Это не только я в замешательстве...
Не ясно как это работает - действительно ли на старые методы не влияет настройка Альтернатива/Стандартный или нет...
Тогда это упростило бы задачу - когда нужно использовать Стандарт - используем старые методы, когда Альтернативный - тогда новые методы. Это утверждение будет верным или нет?
Ну вот разобрались. Не зря докапывался до сути. Я и не знал
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
Пока, в коде нет возможности указывать способ.
Дайте ответ на этот вопрос ещё пожалуйста:
Код:
ZennoPoster.HttpGet(url); // Всегда Стандартный способ отправки запросов или нет?
ZennoPoster.HTTP.Request(method, url); // Всегда Альтернативный способ отправки запросов или нет?
 

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 230
Благодарностей
786
Баллы
113
  • Спасибо
Реакции: Sanekk, SHILY и BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
Скачал библиотеку.
Подключаюсь через прокси.
И как не пытаюсь шаманить - всегда добавляет заголовок: Proxy-Connection: keep-alive
Это при том, что я самостоятельно устанавливаю: Connection: keep-alive
Как избавиться от первого - я так и не нашел....
Также у меня вызывает сомнение, что вообще корректно отправлять Proxy-Connection + Connection одновременно....
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Скачал библиотеку.
Подключаюсь через прокси.
И как не пытаюсь шаманить - всегда добавляет заголовок: Proxy-Connection: keep-alive
Это при том, что я самостоятельно устанавливаю: Connection: keep-alive
Как избавиться от первого - я так и не нашел....
Также у меня вызывает сомнение, что вообще корректно отправлять Proxy-Connection + Connection одновременно....
Редактируй исходники)
И этот заголовок только на http проксях. На соксах не ставится
 
  • Спасибо
Реакции: Sanekk и BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
И этот заголовок только на http проксях. На соксах не ставится
Оказалось, что эти данные сайт не видит (или я что-то не так делаю).
Проверял прохождение запросов на:
https://httpbin.org/get
https://httpbin.org/anything

Редактируй исходники)
Редактировать исходники - чревато тем, что если выйдет какое-то обновление - придётся помнить где и в каких местах снова производить изменения.
 

maloibtc

Client
Регистрация
08.04.2016
Сообщения
365
Благодарностей
91
Баллы
28
Оказалось, что эти данные сайт не видит (или я что-то не так делаю).
Проверял прохождение запросов на:
https://httpbin.org/get
https://httpbin.org/anything


Редактировать исходники - чревато тем, что если выйдет какое-то обновление - придётся помнить где и в каких местах снова производить изменения.
Да. Сайты этот заголовок не видят, автор leaf об этом писал
 
  • Спасибо
Реакции: BAZAg

Bas

Client
Регистрация
15.12.2013
Сообщения
636
Благодарностей
263
Баллы
63

volody00

Client
Регистрация
06.09.2016
Сообщения
929
Благодарностей
1 019
Баллы
93
Дайте ответ на этот вопрос ещё пожалуйста:
Код:
ZennoPoster.HttpGet(url); // Всегда Стандартный способ отправки запросов или нет?
ZennoPoster.HTTP.Request(method, url); // Всегда Альтернативный способ отправки запросов или нет?
@BAZAg , наткнулся тут на сайт, который не принимает альтернативный метод запросов и выяснил, как это работает, решил отписать (может и другим пригодится). Короче, если в настройках выставить галочку "Использовать альтернативный метод запросов", то он будет работать именно альтернативным методом вне зависимости от того, используешь ты в коде ZennoPoster.HttpGet(url); или ZennoPoster.HTTP.Request(method, url); . Если галочку убрать, то оба будут работать через библиотеку Chilkat. Я не могу это утверждать на 100%, но если убрать галку, то запросы проходили, если поставить, то выдавали 403 (речь о конкретном сайте). Тестил только в PM
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
455
Баллы
63
@BAZAg , наткнулся тут на сайт, который не принимает альтернативный метод запросов и выяснил, как это работает, решил отписать (может и другим пригодится). Короче, если в настройках выставить галочку "Использовать альтернативный метод запросов", то он будет работать именно альтернативным методом вне зависимости от того, используешь ты в коде ZennoPoster.HttpGet(url); или ZennoPoster.HTTP.Request(method, url); . Если галочку убрать, то оба будут работать через библиотеку Chilkat. Я не могу это утверждать на 100%, но если убрать галку, то запросы проходили, если поставить, то выдавали 403 (речь о конкретном сайте). Тестил только в PM
Достаточно ясно
 
  • Спасибо
Реакции: Yuriy Zymlex

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 529
Благодарностей
3 375
Баллы
113
Дайте ответ на этот вопрос ещё пожалуйста:
Код:
ZennoPoster.HttpGet(url); // Всегда Стандартный способ отправки запросов или нет?
ZennoPoster.HTTP.Request(method, url); // Всегда Альтернативный способ отправки запросов или нет?
Одинаковые, но первый вариант устаревший и с доп. багами, лучше использовать второй, он и новее.
 

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 101
Благодарностей
132
Баллы
63
На удаленном виртуальном сервере через раз, а на домашнем с одним и тем же моб. прокси, альтернативными запросами - нормально.
Причем когда форбиден, берешь ссылку из переменной, напрямую в кубик и проходит.
 
Последнее редактирование:

Bas

Client
Регистрация
15.12.2013
Сообщения
636
Благодарностей
263
Баллы
63
Одинаковые, но первый вариант устаревший и с доп. багами, лучше использовать второй, он и новее.
Второй тоже с доп багами :-) Отписал подробности в саппорт бота в телеге с примером шаблона.
 
Последнее редактирование:

bizzon

Client
Регистрация
08.09.2015
Сообщения
1 101
Благодарностей
132
Баллы
63

Bas

Client
Регистрация
15.12.2013
Сообщения
636
Благодарностей
263
Баллы
63

RazDvaTri

Client
Регистрация
16.11.2020
Сообщения
8
Благодарностей
1
Баллы
3
Тоже есть проблема в запросах, и на одном и том же сервисе в одном шаблоне нужно как стандартный так и альтернативный. То есть есть запросы которые нормально не отрабатываются в альтернативном, например загрузка фото через мультипар, а есть наоборот где только на альтернативном... Вот такой дурдом и не понятно что делать, но если бы была возможность с помощью кода когда надо включать альтернативный а когда надо стандартный, то проблема бы была решена. А другие либы ой как не хочется подключать, притом я ещё используй куки контейнер, а я незнаю либ похожие по удобству как в зенке где всё норм работало да ещё и куки контейнер можно было задействовать. Может кто то знает хоть какое то решение, был бы очень признателен за помощь.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 246
Благодарностей
1 820
Баллы
113
То есть есть запросы которые нормально не отрабатываются в альтернативном, например загрузка фото через мультипар, а есть наоборот где только на альтернативном...
Можете в ЛС отправить небольшой проект, в котором не работает альтернативный вариант, но работает стандартный?
 

Bas

Client
Регистрация
15.12.2013
Сообщения
636
Благодарностей
263
Баллы
63
Можете в ЛС отправить небольшой проект, в котором не работает альтернативный вариант, но работает стандартный?
Более полугода назад отправлял такой проект в телеграм (в моем случае на альтернативных запросах не скачивается картинка каптчи, хотя на стандартном методе все ок), написали что создали таску. А воз и ныне там. С тех пор защита на сайте сильно изменилась и думаю в данный момент шаблон даже главную странице не сможет загрузить (требуется tls1.3, которого в ЗП нету).
 

RazDvaTri

Client
Регистрация
16.11.2020
Сообщения
8
Благодарностей
1
Баллы
3
Можете в ЛС отправить небольшой проект, в котором не работает альтернативный вариант, но работает стандартный?
Да всё верно, на стандартном работает а на альтернативном нет. Хорошо отправлю вам ЛС.
 

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