Вверх ↑
Этот топик читают: Гость
Ответов: 824
Рейтинг: 138
#16: 2014-11-03 14:19:14 ЛС | профиль | цитата
Netspirit писал(а):
Там есть некоторые неочевидности в порядке чтения верхних точек
М-м, так может описать типа doLoadFile - Null или ARG(URL,FileName,Proxy...)
Netspirit писал(а):
При вызове любого метода сначала читать по порядку все верхние точки в переменные, а затем подставлять в нужные места?
Не могу ответить как, второй день как юзаю компонент.

Думаю при указании UseSystemProxy=True не имеет смысла проверять параметр Proxy и точку Proxy...
карма: 1

0
Ответов: 4628
Рейтинг: 749
#17: 2014-11-03 14:31:12 ЛС | профиль | цитата
sashaoli писал(а):
может описать
А там нечего описывать - все методы используют почти один и тот же набор точек, разве что порядок может отличаться. Слишком много перечислять.
Надо подумать...
sashaoli писал(а):
при указании UseSystemProxy=True не имеет смысла проверять

Хм, возможно.
карма: 26

0
Ответов: 824
Рейтинг: 138
#18: 2014-11-07 13:54:27 ЛС | профиль | цитата
Пока нет исправлений, приходится выкручиваться...

Add(MainForm,2953706,175,71)
{
link(onCreate,15087747:doRead,[])
}
Add(Registry,15087747,252,85)
{
HKey=1
Key="SoftwareMicrosoftWindowsCurrentVersionInternet Settings"
Value="ProxyEnable"
DataType=0
link(onRead,7514085:doEvent,[])
}
Add(Registry,11439435,343,92)
{
HKey=1
Key="SoftwareMicrosoftWindowsCurrentVersionInternet Settings"
Value="ProxyServer"
link(onRead,3189454:doValue,[])
}
Add(IndexToChanel,7514085,294,85)
{
Point(Index)
link(onEvent1,3189454:doClear,[(333,91)(333,83)(382,83)(382,105)])
link(onEvent2,11439435:doRead,[])
}
Add(Memory,3189454,392,92)
{
link(onData,11444343:doValue,[])
}
Add(GlobalVar,11444343,455,92)
{
@Color=43520
Name="proxy"
}
Add(HTTPClient,5090119,371,274)
{
@Hint=#27:Скачиваю, получаю ответы...|
Headers="Connection: Close"
Point(Proxy)
Point(Stream)
Point(doLoadStream)
link(onFinish,8993339:doEvent1,[])
link(Proxy,8982602:Var,[])
link(Stream,9565196:Var2,[])
AddHint(-30,89,161,13,@Hint)
}
Add(FormatStr,5885387,266,302)
{
@Hint=#30:Формирую свой запрос на сервер|
DataCount=1
Mask="http://%1/xf/attach/wiki/main.png"
Point(FString)
link(onFString,5090119:doLoadStream,[])
link(Str1,7230463:Text,[])
AddHint(-139,62,191,13,@Hint)
}
Add(Button,10550242,161,295)
{
Left=25
Top=5
Caption="GET"
link(onClick,9819274:doEvent1,[])
}
Add(MemoryStream,10105489,392,182)
{
}
Add(VisualStrings,7230463,266,259)
{
Lines=#13:www.hiasm.com|
Width=95
}
Add(GlobalVar,8982602,385,239)
{
@Hint=#12:Задаю прокси|
@Color=43520
Name="proxy"
link(onValue,3453728:doWork3,[(447,245)(447,189)(537,189)])
AddHint(-131,-32,87,13,@Hint)
}
Add(PNG,14923636,553,267)
{
Transparent=0
TransparentColor=16777215
Point(doLoadFromStream)
Point(Stream)
Point(doBitmap)
link(onBitmap,2661278:doLoad,[])
link(Stream,9565196:Var3,[(559,234)])
}
Add(GetDataEx,9565196,392,229)
{
link(Data,10105489:Stream,[])
}
Add(Hub,8993339,525,281)
{
link(onEvent1,14923636:doLoadFromStream,[])
link(onEvent2,14923636:doBitmap,[])
}
Add(Hub,9819274,203,295)
{
link(onEvent1,10105489:doClear,[(228,301)(228,195)])
link(onEvent2,5885387:doString,[])
}
Add(Image,2661278,616,267)
{
Left=15
Top=40
Width=360
Height=215
}
Add(InfoTip,13862272,462,217)
{
Info=#29:Обрабатываю ответы, данные...|
Width=211
Height=95
}
Add(PointHint,15093808,561,140)
{
Info=#18:Собственно костыль|18:с системным прокси|0:|
VAlign=0
Width=127
}
Add(HubEx,3453728,533,150)
{
link(onEvent,15093808:Method,[])
}
Add(PointHint,13239061,231,49)
{
Info=#24:Считываю систеный прокси|
Frame=2
Transparent=0
VAlign=0
Width=281
Height=88
link(Event,3453728:doWork1,[(537,93)])
}
карма: 1

0
Ответов: 4628
Рейтинг: 749
#19: 2014-11-07 16:53:25 ЛС | профиль | цитата
Попробуй подключить пустую Memory к точке Proxy.

Хотелось бы услышать ответ: в каком порядке следует читать верхние точки компонента, чтобы правильно забиралось значение из потока? Для каждого из методов.
карма: 26

0
Ответов: 824
Рейтинг: 138
#20: 2014-11-07 19:50:34 ЛС | профиль | цитата
Netspirit писал(а):
Попробуй подключить пустую Memory к точке Proxy.
Не работает!
Не берет системный прокси и все тут.
Еррор: 12007
Netspirit писал(а):
в каком порядке следует читать верхние точки компонента
По моему мнению - нужно считывать из потока только URL и все...
карма: 1

0
Ответов: 4628
Рейтинг: 749
#21: 2014-11-12 17:43:48 ЛС | профиль | цитата
sashaoli, пробуй поправленный вариант
карма: 26

0
Ответов: 824
Рейтинг: 138
#22: 2014-11-16 17:40:51 ЛС | профиль | цитата
Netspirit писал(а):
пробуй поправленный вариант
Работает пока нормально.
Но системный прокси не читает...
Может я неправильно понимаю термин "системный прокси" - это прокси выставленный в IE, или какой то другой?
Если, это прокси выставленный в IE - то компонент его не прочитает:
Из описания WinHttpOpen:
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY
Получает статический прокси или прямую настройку из реестра.
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY не наследует настройки прокси-сервера браузера.
WinHTTP не разделяет какие-либо настройки прокси-сервера с настройками прокси-сервера Интернет Explorer
Еще вопрос по коду компонента: почему дважды повторяется функция ReadResponseHeader с некоторыми отличиями?

карма: 1

0
Ответов: 4628
Рейтинг: 749
#23: 2014-11-17 12:00:40 ЛС | профиль | цитата
Я этот системный прокси как раз и взял из описания этой функции. Действительно, из браузера он не возьмет. Вот здесь перечислены поддерживаемые способы задания прокси для этой функции: http://msdn.microsoft.com/en-us/library/windows/desktop/aa384098%28v%3Dvs.85%29.aspx

sashaoli писал(а):
почему дважды повторяется функция ReadResponseHeader

Заголовки можно читать, указывая как его название, так и одну из предопределенных констант. Для чтения нестандартных заголовков нужно указывать название. Два варианта функции реализуют эти способы.
Конкретно в коде используется получение заголовка по константе, а получение по названию добавлено для справки. На случай, если в будущем где-нибудь понадобится.
карма: 26

0
Ответов: 4628
Рейтинг: 749
#24: 2015-04-14 11:50:02 ЛС | профиль | цитата
Обновлен компонент HTTPClient

Добавлена поддержка пользовательских методов запроса, некоторые другие изменения.
карма: 26

3
Голосовали:flint2, sashaoli, Konst
Ответов: 356
Рейтинг: 31
#25: 2015-05-06 00:10:07 ЛС | профиль | цитата
Возможно ли использование схемы на HTTPClient как посредника в такой связке:
[Клиент] <-http-> [Кэширующий проки] <-http-> [HTTPClient] <-https-> [Cервер]
карма: 0

0
Ответов: 4628
Рейтинг: 749
#26: 2015-05-06 10:15:00 ЛС | профиль | цитата
Наверное можно. Только при отправке [Клиентом] запросов, их нужно целиком накопить перед [HTTPClient], затем сформировать такой же запрос на [HTTPClient]. Если бы не https на последнем этапе, можно было бы вместо [HTTPClient] поставить TCPServer+TCPClient, который будет тупо передавать всё, что будет ходить между [Кэширующим прокси] и [Cервером].
карма: 26

1
Голосовали:olDjeka
Ответов: 100
Рейтинг: -1
#27: 2015-07-26 01:35:56 ЛС | профиль | цитата
Всё круто но и CookieManager к WebBroser прикрутить было бы отлично
карма: 0

0
Ответов: 4628
Рейтинг: 749
#28: 2015-07-26 17:35:02 ЛС | профиль | цитата
CookieManager в режиме Source=IE имеет общие куки с Internet Explorer, а соответственно, с компонентом WebBrowser. Можно использовать метод doAddIECookies для добавления своих куки в хранилище Internet Explorer.
карма: 26

0
Ответов: 100
Рейтинг: -1
#29: 2015-07-28 00:25:07 ЛС | профиль | цитата
Netspirit писал(а):
CookieManager в режиме Source=IE имеет общие куки с Internet Explorer, а соответственно, с компонентом WebBrowser. Можно использовать метод doAddIECookies для добавления своих куки в хранилище Internet Explorer.

Нет я как рас с другой стороны. Я про то что бы WebBrowser работал с CookieManager в режиме Internal
карма: 0

0
Ответов: 233
Рейтинг: 12
#30: 2015-08-11 14:39:11 ЛС | профиль | цитата
В HTTP Client нехватает стандартной фунции Wait ... можно как то вернуть ее? Прога перестает отвечать пока не выполнит действие, а это не всегда нужно
карма: 2

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)