Вверх ↑
Этот топик читают: Гость
Ответов: 3948
Рейтинг: 622
#166: 2019-07-03 14:16:04 ЛС | профиль | цитата
Обновлены компоненты

HTTPClient:
- возможность изменять свойство UserAgent в runtime
- добавлены события onAuthHTTP, onAuthProxy
- добавлено свойство Decompress
- изменен порядок свойств компонента в панели

CookieManager:
- исправлена ошибка в обработке куки с параметром "domain"
- добавлена обработка параметра "max-age" куки
- изменена строка куки в списке компонента - после Expired добавлен параметр Max-Age
- изменен формат файла хранения куки - используется символ табуляции (#9) в качестве разделителя параметров, сохраняется параметр куки Max-Age.

Редактировалось 1 раз(а), последний 2019-07-03 14:19:44
карма: 19

1
файлы: 1HTTP_Components_2019-07-03.zip [268.8KB] [152]
Голосовали:Konst
Ответов: 328
Рейтинг: 6
#167: 2019-09-10 07:42:31 ЛС | профиль | цитата
Как с помощью HTTPClient post запросом отправить вот такие данные {"filters":{"ageFrom":null,"ageTo":null,"countries":[],"withPhoto":false,"moreChildren":false},"limit":15,"page":2} браузер так отправляет, смотрел через Fiddler. Не получается отправить, код ошибки 12175

Вот так отправляет IE

POST https://api.prime.date/account/search HTTP/1.1
Content-Type: application/json
Accept: application/json
Referer: https://prime.date/search-users
Accept-Language: ru-RU
Origin: https://prime.date
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: api.prime.date
Content-Length: 115
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: тут куки

{"filters":{"ageFrom":null,"ageTo":null,"countries":[],"withPhoto":false,"moreChildren":false},"limit":15,"page":2}


Add(Button,3508721,119,364)
{
Left=165
Top=165
link(onClick,5636246:doEvent1,[])
}
Add(Clipboard,8089563,280,378)
{
}
Add(HTTPClient,7072785,224,371)
{
URL="https://api.prime.date/account/search"
Method=1
UserAgent="Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
EncType=2
Point(Headers)
Point(PostData)
link(onFinish,8089563:doPutText,[])
link(Headers,12282822:Cookies,[])
link(PostData,3631094:Text,[(251,352)(279,352)])
}
Add(CookieManager,12282822,238,308)
{
Point(doGetIECookies)
link(URL,14011377:Text,[])
}
Add(Hub,5636246,175,364)
{
link(onEvent1,12282822:doGetIECookies,[(210,370)(210,342)])
link(onEvent2,7072785:doLoadString,[])
}
Add(VisualStrings,3631094,273,315)
{
Lines=#115:{"filters":{"ageFrom":null,"ageTo":null,"countries":[],"withPhoto":false,"moreChildren":false},"limit":15,"page":2}|
}
Add(VisualStrings,14011377,245,280)
{
Lines=#18:https://prime.date|
}

карма: 2

0
Ответов: 3948
Рейтинг: 622
#168: 2019-09-10 10:46:01 ЛС | профиль | цитата
В Headers добавь
Content-Type: application/json

CookieManager используется не так. Там же есть примеры.

Add(MainForm,2953706,21,105)
{
Position=1
}
Add(Button,3508721,245,287)
{
Left=10
Top=15
link(onClick,7072785:doLoadString,[])
}
Add(HTTPClient,7072785,322,287)
{
URL="https://api.prime.date/account/search"
Method=1
UserAgent="Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
Headers="Content-Type: application/json"
EncType=2
CookieManager="Cookie"
Point(Headers)
Point(PostData)
link(onFinish,5962341:doText,[])
link(onError,13582493:doMessage,[(370,314)(370,328)])
link(PostData,3631094:Text,[])
AddHint(-129,48,160,13,Headers)
AddHint(-83,-33,48,13,CookieManager)
}
Add(CookieManager,12282822,126,105)
{
Name="Cookie"
AddHint(41,8,48,13,Name)
}
Add(VisualStrings,3631094,343,231)
{
Lines=#115:{"filters":{"ageFrom":null,"ageTo":null,"countries":[],"withPhoto":false,"moreChildren":false},"limit":15,"page":2}|
Width=375
Height=25
}
Add(Memo,5962341,399,273)
{
Left=10
Top=45
Width=370
Height=210
ScrollBars=2
}
Add(Message,13582493,385,322)
{
Caption="Error"
Icon=3
}
Но код ошибки все таки говорит что проблема на этапе установки соединения. Попробуй все параметры в SSLIgnore поставить True.
У себя не могу проверить - на Windows XP с этим сайтом не работает.
карма: 19

0
Ответов: 328
Рейтинг: 6
#169: 2019-09-10 11:28:55 ЛС | профиль | цитата
CookieManager я всегда так использовал как у меня и все хорошо работало, ваш пример лучше конечно, буду так делать.
Все равно ошибка 12175, буду через браузер делать.
Где можно узнать, что означают коды ошибок HTTPClient?

Редактировалось 1 раз(а), последний 2019-09-10 11:33:04
карма: 2

0
Ответов: 3948
Рейтинг: 622
#170: 2019-09-10 11:35:35 ЛС | профиль | цитата
https://docs.microsoft.com/en-us/windows/win32/wininet/wininet-errors
карма: 19

0
Ответов: 199
Рейтинг: 2
#171: 2019-09-12 19:34:33 ЛС | профиль | цитата
у меня тоже после последнего обновления проблема с такой же ошибкой... Дело в передаваемых параметрах
карма: 0

0
Ответов: 3948
Рейтинг: 622
#172: 2019-09-13 10:45:26 ЛС | профиль | цитата
kaban4ik, выложи свой неработающий запрос - URL, Headers, PostData.
А предыдущая версия компонента - не выдаёт ошибки и работает как надо именно с этим запросом?

Редактировалось 1 раз(а), последний 2019-09-13 11:22:50
карма: 19

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