I want to scrape an api, protected by "impreva" society,they use X-D-token in request header , and visid_incap_ incap_ses_* in response header.
now with datacenter proxy I get 200 response each 50 429 http response. even if I use only one concurent request. but with residential proxy I get 200.
is there any solution to bypass this protection by using only datacenter proxy ?
this is the request :
GET /api/magasins/72/navigation-content/ HTTP/2
Host: api.cora.fr
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/91.0.4472.114 Safari/537.36
Accept: application/vnd.api.v1+json
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Pragma: no-cache
Cora-Auth: apidrive
App-Id: 1
App-Signature: BROWSER;WEB;91.0.4472.114;;1.25.0;1;2;Chrome;1080;1920
X-D-Token: 3:R3wmbBvTR1D6vDBmzCLerA==:qzf5V/qwmQQShcP5/cFIjM/goahseigjk/Xs2H5btwW5kCw+nLSNStvZUdugaCm1WIVl4vGCwXFf8Te0GueaZV3koYe2oCe7YiDelKihZ5LSVVz3T6uNKMaOxpSFD+CIP6usg48ioqTCv/Wme5hdCQ8n7b5qR25xWKhFCYesCoYZnen2LHVOVnMWde6AkItRarRDG5IcEUW0XYyojX9i+XL6X3Mgnynvsb7l6wVVW4AruNE80MiLkSgo2XHlh3SBFArXBdBvvyKUpfRUGZokMqYDIS03w/ShB1OJ4KUfKs6Wu1hrNCZlY3N8RTE/S8oYAsjpagWzQwTuCTwCLtYv+48kvXRIihtHC1IQ5nRPsd7s4TuanGYsYDjm3CMaUpvA+pQIqLTiLUYdG+lIMfYXUpQpGOXC+2gF69yxyFQbtxpbluv7NsHELoaaLQHvoYKI:JA3UaEpTRK6Wjf6b6yXbvJ28p7vjimPImMsmAN8GEmI=
Uuid: 2bb3d0ad-04c1-485a-a98d-4ac3d753fd1b
Origin: https://www.cora.fr
Referer: https://www.cora.fr/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-site
Te: trailers
this is the response 429 :
HTTP/2 429 Too Many Requests
Date: Mon, 27 Sep 2021 13:08:36 GMT
Content-Type: application/json
Server: api.cora.fr
X-Content-Type-Options: nosniff
X-Xss-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=31536000; includeSubDomains
Access-Control-Allow-Origin: https://www.cora.fr
Vary: Origin
Set-Cookie: nlbi_2346747=ozjvaL0oPg66DB86rtkoMQAAAAA9QXZBJ+NCBIVB3SmXJNXF; path=/;
Domain=.cora.fr; Secure; SameSite=None
Set-Cookie:
visid_incap_2346747=70eYj3uqQcKlyni2K4A651PCUWEAAAAAQUIPAAAAAAD3srVYiHapPbOcjTfZu3h0;
expires=Tue, 27 Sep 2022 10:34:34 GMT; HttpOnly; path=/; Domain=.cora.fr; Secure;
SameSite=None
Set-Cookie:
incap_ses_1099_2346747=FIAFfin/tmOLYnuIJm9AD1PCUWEAAAAA/xhZaPz5UshGvjEiQfzp2w==;
path=/; Domain=.cora.fr; Secure; SameSite=None
X-Cdn: Imperva
X-Iinfo: 0-27795484-27795152 pNYN RT(1632748115671 0) q(0 0 0 0) r(1 1) U5
{"message": "429 Too Many Requests","429}
this is the header of response 200 :
HTTP/2 200 OK
Content-Type: application/json
Vary: Accept-Encoding
Cache-Control: no-cache, private
Date: Mon, 27 Sep 2021 14:13:10 GMT
X-Ratelimit-Limit: 10
X-Ratelimit-Remaining: 9
X-Ratelimit-Reset:
Etag: W/"09af7903630eefe87a18365ff527e6917bac5da1"
Server: api.cora.fr
X-Content-Type-Options: nosniff
X-Xss-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=31536000; includeSubDomains
Access-Control-Allow-Origin: https://www.cora.fr
Vary: Origin
Set-Cookie:
nlbi_2346747=FsJOKpMDRQqeSktYrtkoMQAAAADB426mJ/c0BiDBDsyETwFU;
path=/; Domain=.cora.fr; Secure; SameSite=None
Set-Cookie: visid_incap_2346747=Dsbf9nV0RN+yazh0zGE893bRUWEAAAAAQUIPAAAAAAD6RV43J8UcxEZJHt07UrHN; expires=Tue, 27 Sep 2022 08:49:53 GMT; HttpOnly; path=/; Domain=.cora.fr; Secure; SameSite=None;
Set-Cookie: incap_ses_476_2346747=qsgAeXWGFRc+6OUn+BebBnbRUWEAAAAAimqhOCYEdQHug9mxUEC0wA==; path=/; Domain=.cora.fr; Secure; SameSite=None
X-Cdn: Imperva
X-Iinfo: 10-120722009-120615528 pNNN RT(1632751989673 0) q(0 0 0 -1) r(4 4) U5
I have the code below to initialise a setup of Selenium + Chrome driver + Browsermob Proxy to login to a certain website.
If I just use the setup above, the login fails with HTTP 403. However, if I had another Proxy (Selenium + Chrome driver + Browsermob Proxy + e.g. Fiddler Everywhere, see lines after "to pass requests from proxy server to Fiddler Everywhere") and force the requests from Browsermob Proxy to be proxied by Fiddler Everywhere, then the login works well.
Can anyone provide me a hint on how to debug and/or clear this problem?
I have investigated the headers between all legs:
"Via: 1.1 browsermobproxy" is being added by Browsermob but I replayed a login request after removing "Via" header from Browsermob, and did not have any effect.
BrowserMob is removing "Connection:keep-alive". Could this be the cause (or hint at the cause) ?
I also checked:
The body of the request is not changed across the full chain.
HTTP protocol version does not change across the full chain (HTTP/1.1).
Here is a detailed log of the request without Fiddler:
POST /api/sts/v2/oauth/auth?client_request_id=34634696-b122-40de-b144-ab812a4b3784 HTTP/1.1
Host: www.example.com
Connection: keep-alive
Content-Length: 147
AccountType: Real
X-STS-ClientTime: 2020-08-27T18:10:51
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
X-STS-AppDomain: https://www.example.com
Content-Type: application/json;charset=UTF-8
Accept: application/json, text/plain, */*
X-STS-GatewayAppId: 90631448-9A01-4860-9FA5-B4EBCDE5EA1D
ApplicationIdentifier: Rexample
ApplicationVersion: 268.0.1
X-DEVICE-ID: 77f281a4-7914-4417-b144-4811998c3e5b
Origin: https://www.example.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://www.example.com/login
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: __cfduid=d722b1913f887e5df9b0c740ccef4744a1598548223; exampleLocale=en-gb; TS01047baf=01f1b32d7e1354b9f541c1bab1a81960be72277a638bce5a4865b5b1d5b2e0a9cfddddbcba0d21185b68a7d599391e972d5f065031; __cflb=02DiuEAg8LPSYevHEYiyx9rnANkoz3ETfpNySVtv8fQVr; TMIS2=9a74f2a90237486aab4dcb9d44dec14a0520aaf521b9e87e81f271264e25038c2919d29ee219162aa2ad6bdb68fbe78a86ce282ef510aa77456a3876e4e790d3fdbb0ca31af4d206c67f7b9b5fda93e11b80782ed9095c6a7d8766b4642a69785e7ba9d0a86cd98f3b42c2172a8821bbe6906b6fafc8178f0d742271591193; __cf_bm=50d03de4ce1301af67fa03c59387373fba4d8b3e-1598548241-1800-AZ39AzpjNXxDQ+qFhgfI0OYbMauZ3vXOA1MUejwqJsfE3kOEmEVmKXtsstKg5vZZ5ie/d3yHbgzM8RzzLqqSQEVnd5Vy+l06FUm5Z90kFf54ffUqgq+ywM4EOcGhdP22aetxTezQvFieWgfScPvH0SzqDmFpvrmZJmRuLvnywgcLX14Ys9uA2tMCLWSlDesiQA==; mp_dbbd7bd9566da85f012f7ca5d8c6c944_mixpanel=%7B%22distinct_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24device_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22%24direct%22%7D; _gcl_au=1.1.706805090.1598548242; G_ENABLED_IDPS=google; _uetsid=5c779e7394432399f739848297b9a350; _uetvid=d421e48c4acc1f88b81573014b4fa429; _fbp=fb.1.1598548244752.1489311425; __adal_ses=*; __adal_id=c4b052ee-96b4-4643-b30e-af4af0f7460d.1598548246.1.1598548246.1598548246.2a5a85bd-5415-4275-942c-e02a8048acc2; __adal_ca=so%3Ddirect%26me%3Dnone%26ca%3Ddirect%26co%3D%28not%2520set%29%26ke%3D%28not%2520set%29; __adal_cw=1598548245533; _ga=GA1.2.436171435.1598548249; _gid=GA1.2.1493657885.1598548249; _gat=1; _gat_UA-2056847-65=1
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ClientToProxyConnection.java:183) - (AWAITING_INITIAL) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Received raw request: DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
POST /api/sts/v2/oauth/auth?client_request_id=34634696-b122-40de-b144-ab812a4b3784 HTTP/1.1
Host: www.example.com
Connection: keep-alive
Content-Length: 147
AccountType: Real
X-STS-ClientTime: 2020-08-27T18:10:51
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
X-STS-AppDomain: https://www.example.com
Content-Type: application/json;charset=UTF-8
Accept: application/json, text/plain, */*
X-STS-GatewayAppId: 90631448-9A01-4860-9FA5-B4EBCDE5EA1D
ApplicationIdentifier: Rexample
ApplicationVersion: 268.0.1
X-DEVICE-ID: 77f281a4-7914-4417-b144-4811998c3e5b
Origin: https://www.example.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://www.example.com/login
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: __cfduid=d722b1913f887e5df9b0c740ccef4744a1598548223; exampleLocale=en-gb; TS01047baf=01f1b32d7e1354b9f541c1bab1a81960be72277a638bce5a4865b5b1d5b2e0a9cfddddbcba0d21185b68a7d599391e972d5f065031; __cflb=02DiuEAg8LPSYevHEYiyx9rnANkoz3ETfpNySVtv8fQVr; TMIS2=9a74f2a90237486aab4dcb9d44dec14a0520aaf521b9e87e81f271264e25038c2919d29ee219162aa2ad6bdb68fbe78a86ce282ef510aa77456a3876e4e790d3fdbb0ca31af4d206c67f7b9b5fda93e11b80782ed9095c6a7d8766b4642a69785e7ba9d0a86cd98f3b42c2172a8821bbe6906b6fafc8178f0d742271591193; __cf_bm=50d03de4ce1301af67fa03c59387373fba4d8b3e-1598548241-1800-AZ39AzpjNXxDQ+qFhgfI0OYbMauZ3vXOA1MUejwqJsfE3kOEmEVmKXtsstKg5vZZ5ie/d3yHbgzM8RzzLqqSQEVnd5Vy+l06FUm5Z90kFf54ffUqgq+ywM4EOcGhdP22aetxTezQvFieWgfScPvH0SzqDmFpvrmZJmRuLvnywgcLX14Ys9uA2tMCLWSlDesiQA==; mp_dbbd7bd9566da85f012f7ca5d8c6c944_mixpanel=%7B%22distinct_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24device_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22%24direct%22%7D; _gcl_au=1.1.706805090.1598548242; G_ENABLED_IDPS=google; _uetsid=5c779e7394432399f739848297b9a350; _uetvid=d421e48c4acc1f88b81573014b4fa429; _fbp=fb.1.1598548244752.1489311425; __adal_ses=*; __adal_id=c4b052ee-96b4-4643-b30e-af4af0f7460d.1598548246.1.1598548246.1598548246.2a5a85bd-5415-4275-942c-e02a8048acc2; __adal_ca=so%3Ddirect%26me%3Dnone%26ca%3Ddirect%26co%3D%28not%2520set%29%26ke%3D%28not%2520set%29; __adal_cw=1598548245533; _ga=GA1.2.436171435.1598548249; _gid=GA1.2.1493657885.1598548249; _gat=1; _gat_UA-2056847-65=1
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ClientToProxyConnection.java:269) - (AWAITING_INITIAL) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Ensuring that hostAndPort are available in /api/sts/v2/oauth/auth?client_request_id=34634696-b122-40de-b144-ab812a4b3784
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ClientToProxyConnection.java:281) - (AWAITING_INITIAL) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Finding ProxyToServerConnection for: www.example.com
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ClientToProxyConnection.java:331) - (AWAITING_INITIAL) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Reusing existing server connection: org.littleshoot.proxy.impl.ProxyToServerConnection#7c392fd2
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ClientToProxyConnection.java:1084) - (AWAITING_INITIAL) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Modifying request for proxy chaining
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ClientToProxyConnection.java:1088) - (AWAITING_INITIAL) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Stripped host from uri: /api/sts/v2/oauth/auth?client_request_id=34634696-b122-40de-b144-ab812a4b3784 yielding: /api/sts/v2/oauth/auth?client_request_id=34634696-b122-40de-b144-ab812a4b3784
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ClientToProxyConnection.java:1093) - (AWAITING_INITIAL) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Modifying request headers for proxying
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ClientToProxyConnection.java:350) - (AWAITING_INITIAL) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Writing request to ProxyToServerConnection
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyToServerConnection.java:316) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Requested write of DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
POST /api/sts/v2/oauth/auth?client_request_id=34634696-b122-40de-b144-ab812a4b3784 HTTP/1.1
Host: www.example.com
Content-Length: 147
AccountType: Real
X-STS-ClientTime: 2020-08-27T18:10:51
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
X-STS-AppDomain: https://www.example.com
Content-Type: application/json;charset=UTF-8
Accept: application/json, text/plain, */*
X-STS-GatewayAppId: 90631448-9A01-4860-9FA5-B4EBCDE5EA1D
ApplicationIdentifier: Rexample
ApplicationVersion: 268.0.1
X-DEVICE-ID: 77f281a4-7914-4417-b144-4811998c3e5b
Origin: https://www.example.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://www.example.com/login
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: __cfduid=d722b1913f887e5df9b0c740ccef4744a1598548223; exampleLocale=en-gb; TS01047baf=01f1b32d7e1354b9f541c1bab1a81960be72277a638bce5a4865b5b1d5b2e0a9cfddddbcba0d21185b68a7d599391e972d5f065031; __cflb=02DiuEAg8LPSYevHEYiyx9rnANkoz3ETfpNySVtv8fQVr; TMIS2=9a74f2a90237486aab4dcb9d44dec14a0520aaf521b9e87e81f271264e25038c2919d29ee219162aa2ad6bdb68fbe78a86ce282ef510aa77456a3876e4e790d3fdbb0ca31af4d206c67f7b9b5fda93e11b80782ed9095c6a7d8766b4642a69785e7ba9d0a86cd98f3b42c2172a8821bbe6906b6fafc8178f0d742271591193; __cf_bm=50d03de4ce1301af67fa03c59387373fba4d8b3e-1598548241-1800-AZ39AzpjNXxDQ+qFhgfI0OYbMauZ3vXOA1MUejwqJsfE3kOEmEVmKXtsstKg5vZZ5ie/d3yHbgzM8RzzLqqSQEVnd5Vy+l06FUm5Z90kFf54ffUqgq+ywM4EOcGhdP22aetxTezQvFieWgfScPvH0SzqDmFpvrmZJmRuLvnywgcLX14Ys9uA2tMCLWSlDesiQA==; mp_dbbd7bd9566da85f012f7ca5d8c6c944_mixpanel=%7B%22distinct_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24device_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22%24direct%22%7D; _gcl_au=1.1.706805090.1598548242; G_ENABLED_IDPS=google; _uetsid=5c779e7394432399f739848297b9a350; _uetvid=d421e48c4acc1f88b81573014b4fa429; _fbp=fb.1.1598548244752.1489311425; __adal_ses=*; __adal_id=c4b052ee-96b4-4643-b30e-af4af0f7460d.1598548246.1.1598548246.1598548246.2a5a85bd-5415-4275-942c-e02a8048acc2; __adal_ca=so%3Ddirect%26me%3Dnone%26ca%3Ddirect%26co%3D%28not%2520set%29%26ke%3D%28not%2520set%29; __adal_cw=1598548245533; _ga=GA1.2.436171435.1598548249; _gid=GA1.2.1493657885.1598548249; _gat=1; _gat_UA-2056847-65=1
Accept-Encoding: gzip, deflate, br
Via: 1.1 browsermobproxy
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyToServerConnection.java:348) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Using existing connection to: www.example.com/104.18.19.67:443
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyConnection.java:228) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Writing: DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
POST /api/sts/v2/oauth/auth?client_request_id=34634696-b122-40de-b144-ab812a4b3784 HTTP/1.1
Host: www.example.com
Content-Length: 147
AccountType: Real
X-STS-ClientTime: 2020-08-27T18:10:51
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
X-STS-AppDomain: https://www.example.com
Content-Type: application/json;charset=UTF-8
Accept: application/json, text/plain, */*
X-STS-GatewayAppId: 90631448-9A01-4860-9FA5-B4EBCDE5EA1D
ApplicationIdentifier: Rexample
ApplicationVersion: 268.0.1
X-DEVICE-ID: 77f281a4-7914-4417-b144-4811998c3e5b
Origin: https://www.example.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://www.example.com/login
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: __cfduid=d722b1913f887e5df9b0c740ccef4744a1598548223; exampleLocale=en-gb; TS01047baf=01f1b32d7e1354b9f541c1bab1a81960be72277a638bce5a4865b5b1d5b2e0a9cfddddbcba0d21185b68a7d599391e972d5f065031; __cflb=02DiuEAg8LPSYevHEYiyx9rnANkoz3ETfpNySVtv8fQVr; TMIS2=9a74f2a90237486aab4dcb9d44dec14a0520aaf521b9e87e81f271264e25038c2919d29ee219162aa2ad6bdb68fbe78a86ce282ef510aa77456a3876e4e790d3fdbb0ca31af4d206c67f7b9b5fda93e11b80782ed9095c6a7d8766b4642a69785e7ba9d0a86cd98f3b42c2172a8821bbe6906b6fafc8178f0d742271591193; __cf_bm=50d03de4ce1301af67fa03c59387373fba4d8b3e-1598548241-1800-AZ39AzpjNXxDQ+qFhgfI0OYbMauZ3vXOA1MUejwqJsfE3kOEmEVmKXtsstKg5vZZ5ie/d3yHbgzM8RzzLqqSQEVnd5Vy+l06FUm5Z90kFf54ffUqgq+ywM4EOcGhdP22aetxTezQvFieWgfScPvH0SzqDmFpvrmZJmRuLvnywgcLX14Ys9uA2tMCLWSlDesiQA==; mp_dbbd7bd9566da85f012f7ca5d8c6c944_mixpanel=%7B%22distinct_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24device_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22%24direct%22%7D; _gcl_au=1.1.706805090.1598548242; G_ENABLED_IDPS=google; _uetsid=5c779e7394432399f739848297b9a350; _uetvid=d421e48c4acc1f88b81573014b4fa429; _fbp=fb.1.1598548244752.1489311425; __adal_ses=*; __adal_id=c4b052ee-96b4-4643-b30e-af4af0f7460d.1598548246.1.1598548246.1598548246.2a5a85bd-5415-4275-942c-e02a8048acc2; __adal_ca=so%3Ddirect%26me%3Dnone%26ca%3Ddirect%26co%3D%28not%2520set%29%26ke%3D%28not%2520set%29; __adal_cw=1598548245533; _ga=GA1.2.436171435.1598548249; _gid=GA1.2.1493657885.1598548249; _gat=1; _gat_UA-2056847-65=1
Accept-Encoding: gzip, deflate, br
Via: 1.1 browsermobproxy
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyConnection.java:237) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Wrote: DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
POST /api/sts/v2/oauth/auth?client_request_id=34634696-b122-40de-b144-ab812a4b3784 HTTP/1.1
Host: www.example.com
Content-Length: 147
AccountType: Real
X-STS-ClientTime: 2020-08-27T18:10:51
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
X-STS-AppDomain: https://www.example.com
Content-Type: application/json;charset=UTF-8
Accept: application/json, text/plain, */*
X-STS-GatewayAppId: 90631448-9A01-4860-9FA5-B4EBCDE5EA1D
ApplicationIdentifier: Rexample
ApplicationVersion: 268.0.1
X-DEVICE-ID: 77f281a4-7914-4417-b144-4811998c3e5b
Origin: https://www.example.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://www.example.com/login
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: __cfduid=d722b1913f887e5df9b0c740ccef4744a1598548223; exampleLocale=en-gb; TS01047baf=01f1b32d7e1354b9f541c1bab1a81960be72277a638bce5a4865b5b1d5b2e0a9cfddddbcba0d21185b68a7d599391e972d5f065031; __cflb=02DiuEAg8LPSYevHEYiyx9rnANkoz3ETfpNySVtv8fQVr; TMIS2=9a74f2a90237486aab4dcb9d44dec14a0520aaf521b9e87e81f271264e25038c2919d29ee219162aa2ad6bdb68fbe78a86ce282ef510aa77456a3876e4e790d3fdbb0ca31af4d206c67f7b9b5fda93e11b80782ed9095c6a7d8766b4642a69785e7ba9d0a86cd98f3b42c2172a8821bbe6906b6fafc8178f0d742271591193; __cf_bm=50d03de4ce1301af67fa03c59387373fba4d8b3e-1598548241-1800-AZ39AzpjNXxDQ+qFhgfI0OYbMauZ3vXOA1MUejwqJsfE3kOEmEVmKXtsstKg5vZZ5ie/d3yHbgzM8RzzLqqSQEVnd5Vy+l06FUm5Z90kFf54ffUqgq+ywM4EOcGhdP22aetxTezQvFieWgfScPvH0SzqDmFpvrmZJmRuLvnywgcLX14Ys9uA2tMCLWSlDesiQA==; mp_dbbd7bd9566da85f012f7ca5d8c6c944_mixpanel=%7B%22distinct_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24device_id%22%3A%20%2217430e66d1679d-015c94d6c30eda-31647304-fa000-17430e66d17591%22%2C%22%24initial_referrer%22%3A%20%22%24direct%22%2C%22%24initial_referring_domain%22%3A%20%22%24direct%22%7D; _gcl_au=1.1.706805090.1598548242; G_ENABLED_IDPS=google; _uetsid=5c779e7394432399f739848297b9a350; _uetvid=d421e48c4acc1f88b81573014b4fa429; _fbp=fb.1.1598548244752.1489311425; __adal_ses=*; __adal_id=c4b052ee-96b4-4643-b30e-af4af0f7460d.1598548246.1.1598548246.1598548246.2a5a85bd-5415-4275-942c-e02a8048acc2; __adal_ca=so%3Ddirect%26me%3Dnone%26ca%3Ddirect%26co%3D%28not%2520set%29%26ke%3D%28not%2520set%29; __adal_cw=1598548245533; _ga=GA1.2.436171435.1598548249; _gid=GA1.2.1493657885.1598548249; _gat=1; _gat_UA-2056847-65=1
Accept-Encoding: gzip, deflate, br
Via: 1.1 browsermobproxy
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyConnection.java:111) - (AWAITING_CHUNK) [id: 0x367d8cd0, L:/[0:0:0:0:0:0:0:1]:64108 - R:/[0:0:0:0:0:0:0:1]:64132]: Reading: DefaultLastHttpContent(data: SlicedAbstractByteBuf(ridx: 0, widx: 147, cap: 147/147, unwrapped: UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf(ridx: 147, widx: 147, cap: 176)), decoderResult: success)
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyToServerConnection.java:316) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Requested write of DefaultLastHttpContent(data: SlicedAbstractByteBuf(ridx: 0, widx: 147, cap: 147/147, unwrapped: UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf(ridx: 147, widx: 147, cap: 176)), decoderResult: success)
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyToServerConnection.java:319) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Retaining reference counted message
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyToServerConnection.java:348) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Using existing connection to: www.example.com/104.18.19.67:443
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyConnection.java:228) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Writing: DefaultLastHttpContent(data: SlicedAbstractByteBuf(ridx: 0, widx: 147, cap: 147/147, unwrapped: UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf(ridx: 147, widx: 147, cap: 176)), decoderResult: success)
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyConnection.java:249) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Writing an empty buffer to signal the end of our chunked transfer
DEBUG [LittleProxy-0-ClientToProxyWorker-2] (ProxyConnection.java:237) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Wrote: DefaultLastHttpContent(data: SlicedAbstractByteBuf(ridx: 0, widx: 147, cap: 147/147, unwrapped: UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf(ridx: 147, widx: 147, cap: 176)), decoderResult: success)
DEBUG [LittleProxy-0-ProxyToServerWorker-0] (ProxyConnection.java:111) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Reading: DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 403 Forbidden
Date: Thu, 27 Aug 2020 17:10:51 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 01 Jan 1970 00:00:01 GMT
cf-request-id: 04d27fab5700001bfece21f200000001
Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Vary: Accept-Encoding
Strict-Transport-Security: max-age=15552000; includeSubDomains; preload
X-Content-Type-Options: nosniff
Server: cloudflare
CF-RAY: 5c97688bbb9f1bfe-OSL
Content-Encoding: br
alt-svc: h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400
DEBUG [LittleProxy-0-ProxyToServerWorker-0] (ProxyToServerConnection.java:220) - (AWAITING_INITIAL) [id: 0xba528f83, L:/172.20.10.2:64134 - R:www.example.com/104.18.19.67:443]: Received raw response: DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
Thank you!
System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
System.setProperty("webdriver.chrome.silentOutput", "true");
System.setProperty("webdriver.chrome.verboseLogging", "false");
ChromeOptions options = new ChromeOptions();
// route Chrome requests to proxy server
proxy = new BrowserMobProxyServer();
// to pass requests from proxy server to Fiddler Everywhere
// InetSocketAddress inetsockaddr = new InetSocketAddress('localhost', 8866);
// proxy.setTrustAllServers(true);
// proxy.setChainedProxy(inetsockaddr);
// start proxy server
proxy.start(0);
Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);
seleniumProxy.setHttpProxy("localhost:"+ proxy.getPort());
seleniumProxy.setSslProxy("localhost:"+ proxy.getPort());
options.setCapability(CapabilityType.PROXY, seleniumProxy);
options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
options.setCapability (CapabilityType.ACCEPT_INSECURE_CERTS, true);
//options.addArguments("headless");
//options.addArguments("window-size=1200x600");
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
options.addArguments("--disable-blink-features=AutomationControlled");
driver = new ChromeDriver(options);`
Solved this by replacing the JDK, from OpenJDK to Oracle
Im trying to download a simple web page as text using Weblcient but all time i get a problem,
i think the problem in the user-agent but when i set one for the weblclient i get the same problem
the page httpheader Capture :
GET /wp-json/binlist/v1/441442/?_wpnonce=335f68c9e2 HTTP/1.1
Host: binlist.org:443
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: _ga=GA1.2.1639241798.1540059335
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.0.1617 Safari/537.36
HTTP/1.1 200
access-control-allow-headers: Authorization, Content-Type
access-control-expose-headers: X-WP-Total, X-WP-TotalPages
allow: GET
alt-svc: quic=":443"; ma=86400; v="43,39"
cache-control: max-age=0
content-encoding: gzip
content-length: 221
content-type: application/json; charset=UTF-8
date: Sat, 22 Jun 2019 10:02:14 GMT
expires: Sat, 22 Jun 2019 10:02:13 GMT
host-header: 192fc2e7e50945beb8231a492d6a8024
link: <https://binlist.org/wp-json></https:>; rel="https://api.w.org/"
server: nginx
set-cookie: wpSGCacheBypass=0; expires=Sat, 22-Jun-2019 09:02:13 GMT; Max- Age=0; path=/
status: 200
vary: Accept-Encoding
x-cache-enabled: True
x-content-type-options: nosniff
x-proxy-cache: MISS
x-robots-tag: noindex
x-wp-nonce: 335f68c9e2
my code :
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim webClient As New System.Net.WebClient
webClient.Headers("User-Agent") = "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
Dim result As String = WebClient.DownloadString("https://binlist.org/wp-json/binlist/v1/441442/?_wpnonce=a7ddc554d3")
RichTextBox3.Text = result
End Sub
Could you please suggest me as to what is wrong with my POST request? Its giving me an error: Corrupt form data: premature ending
HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=UTF-8
Content-Length: 116
Date: Tue, 02 Dec 2014 17:02:47 GMT
Connection: close
<?xml version="1.0" encoding="UTF-8" ?>
<resp status="fail">
<err>Corrupt form data: premature ending</err>
</resp>
HTTP POST Request:
POST http://subdomain.domain.com/rest/api/setDataField HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36
Content-Type: multipart/form-data; boundary=----=_Part_2_5070931.1417531039501
Host: subdomain.domain.com
Content-Length: 22679
Expect: 100-continue
----=_Part_2_5070931.1417531039501
Content-Disposition: form-data; name=\file\; filename=\TestFile.pdf\
Content-Type: text/plain
<filedata> &sessionId=686ad734c88c4c429a53e73ad7047eff#1&objName=demoAttachment&id=39896&fieldName=file&fileName=Book1.xlsm&output=xml&value=UEsDBBQABgAIAAAAIQCsmTVRbwEAAD8EAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAC%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs%0D%0AU09PwjAUv5v4HZZezVrwYIxhcFA8Kgf8AF33YJWubfoKjm%2FvWwckGgQNXtZt7e%2Ff63ujSduYbAMB%0D%0AtbMFG%2FIBy8AqV2m7LNjb%2FDm%2FZxlGaStpnIWCbQHZZHx9NZpvPWBGaIsFq2P0D0KgqqGRyJ0HSzsL%0D%0AFxoZ6TMshZdqJZcgbgeDO6GcjWBjHjsONh49wUKuTcymLf3unZTasuyxP9dJFUx6b7SSkYyKja14%0D%0Ag7lbLLQCvinlLLh3UJGJo2QBDJ5h%2B2o539nlhEyKWGuPN5TpB4Vu52e7O9wr1TnoCrKZDPFFNhRK%0D%0AtEZ8uLAqnVvx0yS7zNAqMBxrgMgbqYKbWlkaoHpIbfcOTyglJIq0DH8h%2Ba0wfckrp9YN3SBHH0BW%0D%0AiawxvEuS3s%2F4iNQmINLzcguJ5owgxq0B%2FOe0PekpZSoTNaZHavgAf1ffN2GHzj0RQYgaDm147JIP%0D%0AijQtF8eFbhwrqI5oizT%2B408AAAD%2F%2FwMAUEsDBBQABgAIAAAAIQC1VTAj9AAAAEwCAAALAAgCX3Jl%0D%0AbHMvLnJlbHMgogQCKKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAArJJNT8MwDIbvSPyHyPfV3ZAQQkt3QUi7IVR%2BgEncD7WNoyQb3b8nHBBU%0D%0AGoMDR3%2B9fvzK2908jerIIfbiNKyLEhQ7I7Z3rYaX%2BnF1ByomcpZGcazhxBF21fXV9plHSnkodr2P%0D%0AKqu4qKFLyd8jRtPxRLEQzy5XGgkTpRyGFj2ZgVrGTVneYviuAdVCU%2B2thrC3N6Dqk8%2Bbf9eWpukN%0D%0AP4g5TOzSmRXIc2Jn2a58yGwh9fkaVVNoOWmwYp5yOiJ5X2RswPNEm78T%2FXwtTpzIUiI0Evgyz0fH%0D%0AJaD1f1q0NPHLnXnENwnDq8jwyYKLH6jeAQAA%2F%2F8DAFBLAwQUAAYACAAAACEAgfQKKwQBAACnAgAA%0D%0AGgAIAXhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxzIKIEASigAAEAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAArJLBTsMwDIbvSLxD5DtNOxBCaOkuCGk3hMoDZKnbhjVxFYdB357QSXSTxrjsEsm2%0D%0A8v%2Bf82e5%2BnK92GFgS15BkeUg0BuqrW8VvFXPNw8gOGpf6548KhiRYVVeXy1fsdcxXeLODiySimcF%0D%0AXYzDo5RsOnSaMxrQp0lDwemYytDKQZutblEu8vxehkMNKI80xbpWENb1LYhqHJLz%2F9rUNNbgE5kP%0D%0Ahz6esJAcxz4tICodWowK9nWWGEGetl9c0j6mZ8HZfSrldBbnGIpLMnxS2HKHGGeO3xbLaXIW5u4P%0D%0AGGdNIKYmZoac3EdxKoLdRr8EekdzADD3so31P1HIo%2B9VfgMAAP%2F%2FAwBQSwMEFAAGAAgAAAAhAO3N%0D%0AKzphAgAA1gQAAA8AAAB4bC93b3JrYm9vay54bWysVMlu2zAQvRfoPxC8y1osWZFgKfCioAaKIkid%0D%0A5OILLVEWYYpUSap2EOTfO5Ki1m0uKdoLZ7jMm%2BXNcH59rjn6TpVmUiTYnTgYUZHLgolDgu%2B3N9YV%0D%0ARtoQURAuBU3wE9X4Ov34YX6S6riX8ogAQOgEV8Y0sW3rvKI10RPZUAE3pVQ1MbBVB1s3ipJCV5Sa%0D%0Amtue48zsmjCBB4RYvQdDliXL6VrmbU2FGUAU5cRA%2BLpijR7R6vw9cDVRx7axclk3ALFnnJmnHhSj%0D%0AOo83ByEV2XNI%2B%2BwGIzKob6BrliupZWkmAGUPQb7J13Vs1x1STucl4%2FRhKDsiTfOF1J0XjhEn2mQF%0D%0AM7RI8Ay28kR%2FO1Bts2wZh1vX9z2gC8iig%2FlzuPDWYRbNrFk29S3fjRbWIgtuLC%2BaLaeLMAujMHzB%0D%0AdvqTvFt1Yb6tmH58ZRWjgpak5WYLdI6Bgstg6nlehwDlWXBDlSCGrqQwwMYrj%2F9a%2BR57VUngGd3R%0D%0Aby1TFNqrIyCdw0rymOz1LTEVahVP8Cre3Wso5I4pUqNjRcRubA%2B9u%2BCMvG2Iv2CN5F3SNmQ9RDbo%0D%0Af1YgnXcT8cDoSf%2BqcbdF50cmCnlKMBD2dKGf%2BuNHVpgqwZ7vOHA%2FnH2i7FCZBEfhNOh9X0D3MwQu%0D%0AeolE3ztfu7lyYVg7uenaAyMVM1DUpnB7hNEsJzzvmAfRPwy8wO1f0LP5rE06BwnFZQl%2Bdn1nETqR%0D%0AbznZNLD8q8izrvypZ638tZcFYbbOlsHL%2F50M4DgeP5cuyooos1UkP8KXdEfLJdEwKUNCECcQMUZt%0D%0Aj1bpDwAAAP%2F%2FAwBQSwMEFAAGAAgAAAAhAJbw16w0GwAAAE4AABEAAAB4bC92YmFQcm9qZWN0LmJp%0D%0AbuxcDXRUx3We93YlLYuEVyAwCDl%2BSILIgOTd1T9GtnZXK36FBOIvsWKxkhaQkbTKaoWFbWAFTmIn%0D%0ATopt6tC6AZzYKa3rHHB6WuzTH0GTlOQ4CbTOCXFzYnDchjQ%2BjTiH2qSnQf3u%2FLx9u1qBIIndnJPZ%0D%0Ac%2FXmzdy5c%2BfOnZk7d%2Bbp7PdzLzx%2FIv8iSwn3Mhu7NjaFZVrSNcQJeHAxpiNCcG1sbEwlI%2FqH8Hsk%0D%0AgV%2BD1xnovI%2FIfszAk%2Fo8C%2BAATAHkAaYCsgE5gGmA2wAuQC5gOsAGuAMwEzALcDtgNmAOIB8wF1AA%0D%0AuBNA%2BkJgID4PUAgoAhQD5sv8PyjRByOBdSyCX4wZLMj68IyyXeiByYdZLIMpTklHrheMlWWFWb%2F6%0D%0AvmYH0sgigbmR%2BZnvpmpMRnZgRlL1E910wVUk6lX1W3HWs%2B2smw2wTZBClO1gHVweOybNUT7TNaqf%0D%0Axgw9J1PQCaRiGnQI7fi1snWsBU%2FvLcjBhRnYqimTJbFRdhbN5zSH0%2Fgl%2BaUb%2F8TvjcY%2FNYfmiRuN%0D%0Af5ojaK6hecAApBv%2FC5D%2BUUAJ4C7AQgCpy2JAKYDmjrvxdAM88r0czwpAJaAKUA2oAdQClgDuASwF%0D%0A1AHuBdwHqAeQ7hG9AJ4NgCCgEbAMsBywArASsAqwGtAEWANoBrQA1gLWAVoB6wEbABsBmwCbAR8D%0D%0AfBxwP6AN8AnAA4B2wBZACNAB6AR0AcKArYBtgO2AbsCDANLIHkAvgPiN4NkP%2BCQgChgAxACDgJ0S%0D%0AZwhPGs0PAx4BPArYDdgD2AuIA4Zrsjxz4vbBfn3WNxz%2BWN%2FwKod%2FMBaL9O1zRO4LFATe9devaB15%0D%0AoLGqTjcyN5b5urpKjMz2faW21vW7%2BsNLRup6ByKByOkH%2FPeuXPxZR8fp%2FUvqluUGWiKDfbGpU2Ij%0D%0AL0ZGoqHoriV1vudsm%2F95WZjN%2FWZRWSBk%2B3L8F798Ypc%2B3142fH%2Fdt7ZmfSR%2B9959U%2Fa1MecF%2B9va%0D%0AyNRvOxtZJNo72BMygnfU5%2B%2B6MDRim2dv7vMFCldqnwp09LY%2Fr%2B18Mtz%2BQsbP7K2xXW8%2FNHa08J%2BW%0D%0AFs%2Fy5zyY%2F9bMjswfzzy6MdQzGD4yM8b2HG7vyGif2T6T1W3ov2%2FR%2BxcXOKrmL2o1ol8ZKMw5sejX%0D%0ADRntgYz2WfT7dO7yWWNfWXTnrMCit2Y2TH195in%2FN76QNL5%2Bd7NyPYaizu5fLWYRjbW6zNhBFStB%0D%0A7r0Yrhoz8sbG%2FDRwWVWhmnfyZVmsuMgVc5FK09jCRK4lFt1AWmAN9fJFPVUejSYKtOKrkIjb%2BGhQ%0D%0A6TpaQqP8FJkPqhyZDzIMkxmh0l2WdAvxXJpOZFhroaOR6SHDUzTdyHCOzA4Zcsn0kOEimSAqnUwQ%0D%0AGZ6iqUilG5Y4mSEyrKXpSeGTmaLwaWpS6Rb6Gk1bMpwjk0YGjyV92BJfS9ObDM9b4hpNeTKELPFz%0D%0AlrhHrqCEpnG7XGNPkdkmwylLPJdMORmUBocs%2BQ52N5%2BNfBa8E2YJjX0yTXmiozMn3yDYtuwHNY3Z%0D%0AtnSbi7DOVpg1JK9Rv7sx9AfKoleytJ%2FzuYG6UGe15iZOZytpwUd4R%2FbuNp0yt%2Bm0Rh3Rz6L4tYzz%0D%0A%2BJvJ5upH9FHEjuhX8feU7YpGM8Bh%2FnZFO4PePszzr2gHUEfYRmVP62fw990MO6MyVHqbTsP%2Bezrx%0D%0AtU2nFfKydhxxRV3UlsVrozKHOYUrmkOzmXVthmWi6irRMlg6%2BrQmbtNpZ%2FKudpLT2MYlcFX7AZkK%0D%0APLgwR1G76wEWheZ5tEcRQQoIL9QWGzt%2FN9kjIpCVJALxamPUQhujltvYg2Q6IVyQIyBZsiPAuZZB%0D%0AFIVkLyB2RL%2BEv0KyDrSQ3kiyUxCnfJKsE5Klsqf1k%2FhLLScsyk0n2aNIJ8lSvqhtBpcslTnMKZBk%0D%0Ap5p1bcaeTtVVouVwyabSF5I9ipYd0Q%2BZXKej1oKd4RGduP0vLc45eZqX6LEJvi5rLTz1sradP3%2FF%0D%0A5UHWpeI5maqQwXLsNQ9xqhvseew01793MzJNOVB9iZ4nKW3TaSl4PyPL1CCX5oKO9%2FE2ENVUTi5L%0D%0Afi9rilPqKeJKSI56%2B4p2VM81JSe4Ilob7DPB1Shiyb1Du%2BJDPP2kvtzC1SzQoPcrmuBK8Hq7mXqG%0D%0A80oL2GgGqbDCHtWnow1KwwXFD69F9ZYWzQaP9J7cojlm6vgWCezkFgmKH16Laiwtygfv9J7corlm%0D%0A6vgWCezkFgmKH16L3JYWFYB3ek9u0R1m6vgWCezkFgmKNMtdNadJBzvL5zzavaTOqrTTEiFhbNAI%0D%0AtTHSXxujPrcxkpONEW01o9J4o7k23cxLI9LGaOTZGI19G993Ahlb0C3sKcu6l2uxRaTxNo3pIaY7%0D%0AHDTpIOxNSZYm5wwNlC7K%2BZxW0MuWFdQQRacx7eOgZBLgb2ZzJx2JbqhPwVXvqelqhUqYyON3%2FrTj%0D%0Ac2B9u2j2DonDtsXO%2Bh01DMJKClSxNssGfx%2FQH4aJTYtjCeT%2BS4jn14CQS%2FBG1F57794XycVRhJfH%0D%0A8f43iGu8GqJJeGNj%2FQBseQ8UHfxVjmPV4dtPZe149b7YHIfokxFBjHbXSYGIvPy%2FF37xxRdeWhlf%0D%0AFbv8nTMLL1LFpADUB6Q6im9NIxWjN97U1GKpVQvGmrCpFwQEm%2BKvYP4tzjJjx1KkM5sZ4%2BSVKr%2Ff%0D%0A7vuHs%2F9TnWfZO5o70PQ7RrMElw%2FJMr9FpNmte0wzV196XMpYX3rSjI2YsTNm7KwZO2%2FGLpixS2Zs%0D%0A1IxdNWOCA6WSGnw0bvg83Pznxd8aeIpq4T0SKe6kWECmJnIVFj0r4E%2FazZUQth3tvbURaKUeJ7tI%0D%0A%2BLDp6YYcyBOoNFvphnqnzSb5trNzF%2BvHeaJti9DDhGYqXHqewag4jizy81A4ACDMfui%2FAz81zR0U%0D%0AWz%2FWvb%2BM29hqeEyVvFCZOGhl5y7h%2BbRHu169NRh1bku9qh1DDg3%2B%2BWLYoyIclEdBxmNLOV2asbk8%0D%0A5MzzJXj%2Fqb3GYz6ePyrzScspfAnji%2FIVfdpbHAfo%2B4VcFY%2BPm1OMmmQS8qLYHfASEp19RxfwekTp%0D%0AsbERlKP5UZ1NqXoUXVWO0g9Y%2BFB4N%2FuMo0NUmeOWeCqdS9fJs%2BJuB54DfUFpXnNNE7IjkdTbr40d%0D%0AQrqS%2BxRgGjL9DNKVvK3ps0HvvKwk24JPSWdlusKnV14b6qFwRubTrLwFGXfAO6r6j9qkFhziiwLp%0D%0ALgVVD6cxgZxLUFiiT%2FiA%2BiXhjErZUAED6zw9D8mnlUhLmrR0lZwHvX6J69Ub9fWyn0gGtBBRuxzI%0D%0AJ%2BuDglWuNUi%2FkCY9jnQlt1R5j6TgM9C%2FCnyyjihsR1zIuZ%2FLeTbmHGqL2oESP8fxflTip9I%2FJNNt%0D%0AVr0AfjwNPu1Yt09ApyUlnfgsAS9kv1FwIS74PMT5XI53aod5FgT8zUirl%2Fj1KfhDeCd6uexbwlgE%0D%0A%2FuN4J5uQQn8K%2FjG8E73bxVDAoYXQN7fEP5qCT8lETzn76P04ypKH0nKazc8KJAlpzIg3wk2XTmkH%0D%0AoJObleIDT1hfxFjc0e9QpZKfLuTa2XKUGv7hjI0ZTCvG8UYbjhC2yt9CLDnlOMaowoJVjiOBakAl%0D%0Aw55QoJXjWYQEb2pSLSVNl1gejuUBic5UvJrxSRWoIqWCChxEjEvaOp4N96Tq%2FM0qSG56OeQzThqe%0D%0ASSSVYyV%2FS%2FQWdQkprc6PsJUm3dzz2nc0VkY9bS7FLC681ES9cDgbZnWm2BANO2zFOASirmfDjkw7%0D%0AnC603FG8AIdG9ZZ04grpNh2ulO2kKsNE38GPepLpOzh9UjnwYKNlP26Jk4VOdKjeAxb6J2U8H%2FWO%0D%0AWNIv8LiRuYQdZZdkWeKBpmaiMxuH%2Bm4Zn46DYlJgSnfg8H%2BLiGfOAs52Gc9HnMwOaqMDpsBRiU80%0D%0Aj1noHLfQIZOH8PNQ9qyMU72XLHS4sKV8%2BLYCceLHRaNZ8lMi4pnEg9sSb5Fx4qdf4hM%2FQzJOdGgZ%0D%0AV3RoeSV%2BiIejlvhJC52zFjrnEVf9dYHSLfpAOqFpo0g96xJ7l2ftXAeYXXsVMtwUie4Y2B4Ox4ym%0D%0AcN%2Bg4Q9FDebV57MKXWNXqT%2FY65hU6%2FF8FVPrgqZdjYN9nbHuSB%2Fmhyrg%2BOtrqEbCgyrMxvOTmLZc%0D%0AeEbwJO141n6c53%2BC%2FbedFlN6Uu9Opn4jqX4nS1SfWnui%2Fq9Cyx1wZWYDZgBGmcEa9TdYj4a5TZ%2FH%0D%0AViK%2BXH%2FN%2FgZbrVPKfNag2zCilsp2EP9n07TXAEYJW6MTvaWgQ7Qa9DJWL8vZNQPxq5BTDmtUR4h9%0D%0AsegumP9rgEPSpvNDH8S3M9wuUWoZ1w7UZ7D1ei1bp1P9LXi%2FcT1TGT9qNIKWWqgel7UejkK1WOmP%0D%0AQv43pp9rtqM13BMWvS7aQh2q2iMb0i5w0reHRuSN67tNtie5NtUe3hBLLdb2GKBP%2BjYbT9J4l3xi%0D%0AoX31FeaLxaLdHYMxFjY2%2BtvXhHoRqTMK12%2FH%2FQvS%2F45IxLWjMMfpfNIfGtD0J92PuN1ur7ulxlNb%0D%0AylxumyOQxfL06Vqx211RtXs459FlPZGOUI921tXaH%2BrUnm4M9dgHwtldgWg4FHOEOnpm3tkSDXcd%0D%0ACHf2hFjmii52wrE%2BOpjjDw71R4CYV7A%2B3Nvfw0KxcEM42r3Tpk9%2F2j84EIv0dmc%2BbG%2BweZv7McDs%0D%0AfQa7u6e7szu2JceZ42zBZaUFhqt1sMPIeK7dH67fGomGAz3MX8ICob7OcI%2FhYwOGPxLpCYdY3105%0D%0ATsMwNsW7Y9sNX38%2FK9ZD2sKyQKS3F5ldGOQDJYXacLEc%2BGdp5DNnoW1uvEBvZvXRaCRqrHs8PDAY%0D%0A%2F9Ga8FC8IQuDSYsXQs0iPRqbJ2cBbbi08K6yBqjGtBh7xjYjc96yyPpIg%2BHWi4N9Xfr8nGlOnx4v%0D%0A31jd3B%2Fu00v2FzV09xqRjpEHWyL9G%2Fqt90%2FK%2BQRxc39w%2FwQnMuIOCXX5ZEpj2WQ%2FloitWObC%2BMX4%0D%0ATY6bZwAOPb43p6V3svV7gfszaUi347YG3UBqx9nQOtzqWIkbIAF%2Bk2NyvOD%2Bj2kfTrZ%2BP0h%2FV26k%0D%0Au3DDI3oLcldFYB7w%2B0fKypwMKfJI86MFPC%2BbBWiVpXs5AfKVUJfyoDPhMRhy1Ce109rWOyVuh3jS%0D%0A1ZJJB%2FI%2FaqNAfxNz8xtUDE8ifhHPStlJxNpr753DQfv1%2FY%2BT7YDx3LmQRJVRu6%2Fjb7xRsybvb5w9%0D%0ATpqqBz%2BoZwmXdet17pugL5YKkV7Pr0betVv3qwnHujCPlhNHN%2BFXM4Cv%2FGpEoR7v9BSGFfWV0GmK%0D%0AWaWa%2Bm4dO%2Bmkr3qdelfkT0RBSEvj5r3Y3711I5W5Xj7tMUSVyX5vWc2x4xOtqa3bw%2FXhmIcW00t%2B%0D%0Ae2hAj%2FHFdMTrrvG6S5lhd0wLYC0tEGupvlutpfO0b6i11NGj1lJXTK2lRpdaS3PZS2otdUTUWsp6%0D%0A5FqauVMvlmtpdjdfSyds5euhr9LIG5sCG3UKTNx37MrDQb1nx2xwje9plyV5cyswSzf%2BBlpXhL1g%0D%0AGTbMRTAKizDjLcEWXMz%2Fy7AK%2BHBDzoOUANaDJvya4U0WKU24Dxjg60SrTBGrR5tcRapBlUpSahCm%0D%0AeRnuFK7GrwgpdMt0EPf9emBi%2BvEcQEonGcX85qmBWvvx6%2BGpIayH3Ujv4%2Ff6EsJz4WJQG%2B4mpnq2%0D%0Ay38jWXjAZw14dFtkEUXt27AyhXDjkHjsBmdhcNMGeRDflD8A2MrvDjdz5wWlh4FhffPAV9EGWWyG%0D%0A3IKQRBmPB1FTOjpB%2BFCIBsmISpaBJwP0OnAHMowcuqe8GvV3cM5S7yr%2FXVpNIYfBrc9PRdAS4sIq%0D%0AnU3goA8%2Bkwh7iEukFbcsB8BbGLIqB34bf6N8khmVjyHWARrN4D6INvigCTHk90K%2BqqetQ6TE7Gcv%0D%0ANKgRvdPATyICaEkltKcRFEohITfAj5gf%2BUHkiHb6kCtOLipkuhcnGKIl1ZPu5wDnr5dr4Y01gOy4%0D%0AEHolDLmQBjTiR2MlyPuRtKYVqYnxcCMtupX%2BJ5%2BeDrfIdJgOedgUzwLMRjwfzwJAIT8hSNioYoa2%0D%0AzviJu%2BQTrcLjPdWJNSbRg6%2B9p2MTPtHd8ry0Lr6xsY%2FqE5fBvc8XJX3a6G5zESPZEGrCfCay3iTP%0D%0AIfkOx8YW4QqWFW9sjCwpCiQcdo%2FpSdc0ciJ80HYIX8w%2BpHo%2F6LaSwD8M%2Bd5MnW%2B%2Fc1tL5%2FnAis%2FV%0D%0AFIz%2B5ysvf4HKko6P5PXoS5%2F4WfPf7voJG33k1XyVTk%2By3OJcpRZrC1imVo87dxnZwSFsiOOLXMyW%0D%0AvdHve%2F9tF8uwb%2Bru81Sd2iOj5d6svTJaVTGEqM3eFOr8%2BisuZrejSNXLRTJW%2FTXEHPaWaORBeEA8%0D%0AzttdLDN7INaFffYzW1zMSRXIzH%2F4R8pr3rq1uzM8c9DFsrPhYVAOhh2P%2FtTFpoDVMZvG2oM7cUcc%0D%0ANsvsH1ERGE2wmS7lu1ieXfojdmCLL3b4MHJe%2BSGw7GKbf%2FkQsaOwdsx2samSKPb5cBeEyDf34sJE%0D%0AMt%2F0iz2%2FswBlObaNBSJ8Nz%2Fw%2BirQlhRoKx8LnxxysZwEH7R5f%2B4iVRrpEDv373lc7DaTDFwKnDo2%0D%0A9YP9TjjIMwkRF%2Frnz3Mx1zg0cce%2F9l8hcYY7%2Fe9HE7T4hX7OFafVcxdosQ4uhid%2Bgs4Cz7jc794J%0D%0AObIYPCgRuuD%2F7L%2B5WJbkPxAix0mfCw0QzdQYLu5zv9VjR0FAouHafk%2F4m%2F0J7lCxYEsSOHYiIT5L%0D%0AN%2By5BzrBVqDqHz4M7wNtTdZD9Saj4oZOm3WxDBTD20hTLn3iJspOwxIBnxUfoosQnwIPIl23o4Pv%0D%0A8WH8tJ9uIUhTMDlJ016BVw6GLzrCvVDXD0xh%2FXmZy21sn8663rHbceBewJRyP94Zy6CvXOr1vAcz%0D%0AdWed7szSo1qeIyNz%2BhR9Ol%2FODrJsfeVS3TmLadG4GCD36nNMgyROFkkOFo35%2BgPMtrBtGXxscTjZ%0D%0AKsqxLXDcYbcHmFOfpk2Hi41V7S7ylrmLYPsElrRh3MKgeWigrXXXQMwI95Z722xhLyybno6i5tVB%0D%0AmDSD8JxB7Qvgk97CtP1BjMCG7s7HgrAG46z7Dda5L3g4nnswrg0HmbehsabBXQFzptLf6Cv1uOMe%0D%0Af6m%2FIVgZD77h88UDFfEM7%2BPB%2BCG2LRrqNRq7wfVAGw2hiN5nz2zq7oxGYHxujRmt20OwObramhsb%0D%0AV8DY8FS2NbU2l7kbVq8u%2Boxrf5Phqa8scxvNHcOnjPjq7g5SVbYqyLTb9r2hsxn7bK%2FZ35uz7xif%0D%0AIPC9CbkgdyzLY7PjM9bHX4LBbmeb4l%2Fnn4VtGNEiI1r%2B96Z635xasHZkOk5A%2FZrHP7TtuAsfNPnh%0D%0ABFt8et6xe18s9DsW%2BbU5%2FkfjYjpZdnqus7W%2BKFy%2FmTxcb%2BYvz%2FKuyfr%2B3HvYy9%2BdW3BuzrfnsuIR%0D%0Ay4cIN9SXVIRnVi38qo0fLQm7RuP%2BKMJKqCOliaBh%2BCb%2FrP4%2F903XTt%2BA3rz%2F6yHU8y%2FS%2F2Wt33Nr%0D%0A9fMrYbRrFNviGxP5ClBel2jJXr%2BH%2BPdVN8NG3i20%2F89RgboZeWtexwSH5H%2BlniZxTrb9x4D711I9%0D%0AhhHfB9gPeAzwKcCnAZ8B0CHiE4DPAj4HeBLwecAXAH8EOAB4CvA04BnAQcAfA54FfBFwCPAngD8F%0D%0APAf4M8CXAIcBRwBHAc8DvgygU%2FwX8CQjFx4B8xvhv0D8LwEvAf4K8DLgazL%2F%2F7sl9fvAn5oN8BXh%0D%0AhhE5TdRDvhRSn%2FIS7B45dPdI9Amf9E0JgukPLpR0c%2BWT5iiXGcdZq2UF%2FZi%2F7%2Be9%2F%2FFC03M%2Frb56%0D%0A5ZkDODMm7xB5id6hxRIhsVfT2f7Phi3fpeks1%2FK9mOoFnT1P56AyXLTEaeY8Yanb5rRPaE5Q8cTt%0D%0AWrrLcU5NrpaWqKhH8pomi4VMH%2Fv43HPmfePxebI6s1ZZha4apGxkla5u7CUsZJWjPsiz2seKumJA%0D%0ArGKyhO2XdpE%2FIthqJPMIQVczNwyFlnXNy9b59njaAs1NTc1rEGlaEVjX3IoIOCCoLqNosLoMq7Sq%0D%0ATjn9kO0SNJ2aRa6qD8kfSF3rseSdsMSPjxOX4nwGvy2AXUwK57CmeCDOoxFlbsDaEEYG2RhiK9Em%0D%0AHrAwgpsDwdVlwc1BxbzqSL7fUeyHEn5MU5k0eUH%2BKUte4pI67gZMyL47RfCys3V19CItNGWgcftM%0D%0AWH%2FeMphoqb0qshSrpyxamhgtgpfLljyfRWNHJ2R19dmrpf9z%2F1zX3%2F87Ju6Gn6yTtej3TSRpbtf1%0D%0AkZWXJHYy7ZRlpww7i8YoBRXdoppy2cJioini44N5lkF1whKnU%2BrkoJTmzRSlUemp18xVeupNdyn2%0D%0AvSo%2F9bq6Sp%2FekDysUoe02mdKpvU8yW66Xaoqq76wNXFoBykJ5OTxbyaGUpot54OpxUhX%2Fw9hwHQw%0D%0AGfDhheH3HGTCfx1VX2dMs%2Bm99E2F9YNS1bIfpEhQfsSwd4GoWhXFJ2lmUEV1m%2BBnROQ00qkxwjSb%0D%0A7SBqy3SstXxDLIfD1FlAWAA%2Bd8H7OAheyWMs%2FOiKqj2FqktQTWVo7W3jGcq8EUOJdY1v6EDB5kgp%0D%0Ao9pvNkb%2FPDVGm5GoLkU0VqleR2qTkQ6pTTrZpJC1tl1%2BL713HHlLW6%2FTlo9MIF1L6eTKs64jCevH%0D%0A1VKRbdNS5NumlCSrQYNcKTjWpukXZ0o5pUDUP%2BJAphcKhMshUPbEP0axDpAAHPq9uDbgk0q2E4Oj%0D%0APaWsGv%2FJbdStX4ZbNXcjPx0aBCFrpXL9nmqAtfSVJsopXLK0UpvRys9VxCmKGBPpmpNciv43CZ3G%0D%0AiFKKOvWqldfxlNPxnCiRTFXaEDd1ayAxWhLfT9XLxNSn7IQ9D0tdVGWny4hFO9JafYSWwCGnkQhS%0D%0ABadYbTzr9%2FMuk0lz%2F%2B1Qq45wIj6QwlGiVZOPWW23CQ8c8O9JuG8z6RhA1LGioa7wEa870BD0e%2BGI%0D%0A8Vf4Sitq%2FcHSWl%2FAX%2BqtrvC5vf5yeGIbd%2BMwuSHSOdgb7ovVWWu9e8Fy3NPiwYIhKkzKw42vcF1h%0D%0AwgwFweXhnn5ygYaHYsSIG0kbw9EBeA9hFPTDm9TREy731hWW15Z7vV7UAYRA0zIkVJZXe%2F1V7srK%0D%0AWk9lrRWIzRZ%2FXWGVr6qmusJf7qtBmzggZ1mgrrC2sbahxlMTrClvrPLXNlYTVFQhM8d5%2F%2FIInFvB%0D%0AoVi4ryscNVb0bY18Isdpts9T90h5Tbm3oarCXRporHWXejyBxtKaYEV5qdvtcwdqPR63u9K3%2Bx5Y%0D%0At%2FdYpQLK%2FIInrqmFQdAqvTpv1WKDwOOpxt%2FKiprFxsdznEJ8dZVeJAE8XjfFqisWG4EcZdDfirqM%0D%0AK%2FN%2FAgAAAP%2F%2FAwBQSwMEFAAGAAgAAAAhAIuCbliTBgAAjhoAABMAAAB4bC90aGVtZS90aGVtZTEu%0D%0AeG1s7FnPixs3FL4X%2Bj8Mc3f8a2ZsL%2FEGe2xn2%2BwmIeuk5Ki1ZY%2BympEZybsxIVCSY6FQmpZeCr31%0D%0AUNoGEugl%2FWu2TWlTyL%2FQJ83YI63lbppuIC1ZwzKj%2BfT06b0335M0Fy%2FdjalzhFNOWNJ2qxcqroOT%0D%0AERuTZNp2bw4HpabrcIGSMaIswW13gbl7afv99y6iLRHhGDvQP%2BFbqO1GQsy2ymU%2BgmbEL7AZTuDZ%0D%0AhKUxEnCbTsvjFB2D3ZiWa5VKUI4RSVwnQTGYvTaZkBF2htKku7003qdwmwguG0Y03ZemsdFDYceH%0D%0AVYngCx7S1DlCtO3COGN2PMR3hetQxAU8aLsV9eeWty%2BW0VbeiYoNfbV%2BA%2FWX98s7jA9rasx0erAa%0D%0A1PN8L%2Bis7CsAFeu4fqMf9IOVPQVAoxHMNOOi2%2FS7rW7Pz7EaKLu02O41evWqgdfs19c4d3z5M%2FAK%0D%0AlNn31vCDQQheNPAKlOF9i08atdAz8AqU4YM1fKPS6XkNA69AESXJ4Rq64gf1cDnbFWTC6I4V3vK9%0D%0AQaOWGy9QkA2r7JJDTFgiNuVajO6wdAAACaRIkMQRixmeoBFkcYgoOUiJs0umESTeDCWMQ3OlVhlU%0D%0A6vBf%2Fjx1pTyCtjDSektewISvNUk%2BDh%2BlZCba7odg1dUgL599%2F%2FLZE%2Bfls8cnD56ePPjp5OHDkwc%2F%0D%0AZraMjjsomeodX3z72Z9ff%2Bz88eSbF4%2B%2BsOO5jv%2F1h09%2B%2BflzOxAmW3jh%2BZePf3v6%2BPlXn%2F7%2B3SML%0D%0AvJOiAx0%2BJDHmzlV87NxgMcxNecFkjg%2FSf9ZjGCFi9EAR2LaY7ovIAF5dIGrDdbHpvFspCIwNeHl%2B%0D%0Ax%2BC6H6VzQSwjX4liA7jHGO2y1OqAK3IszcPDeTK1D57OddwNhI5sY4coMULbn89AWYnNZBhhg%2BZ1%0D%0AihKBpjjBwpHP2CHGltndJsTw6x4ZpYyziXBuE6eLiNUlQ3JgJFLRaYfEEJeFjSCE2vDN3i2ny6ht%0D%0A1j18ZCLhhUDUQn6IqeHGy2guUGwzOUQx1R2%2Bi0RkI7m%2FSEc6rs8FRHqKKXP6Y8y5rc%2B1FOarBf0K%0D%0AiIs97Ht0EZvIVJBDm81dxJiO7LHDMELxzMqZJJGO%2FYAfQooi5zoTNvgeM98QeQ9xQMnGcN8i2Aj3%0D%0A2UJwE3RVp1QkiHwyTy2xvIyZ%2BT4u6ARhpTIg%2B4aaxyQ5U9pPibr%2FTtSzqnRa1Dspsb5aO6ekfBPu%0D%0APyjgPTRPrmN4Z9YL2Dv9fqff7v9evze9y%2Bev2oVQg4YXq3W1do83Lt0nhNJ9saB4l6vVO4fyNB5A%0D%0Ao9pWqL3lais3i%2BAy3ygYuGmKVB8nZeIjIqL9CM1giV9VG9Epz01PuTNjHFb%2BqlltifEp22r%2FMI%2F3%0D%0A2DjbsVarcneaiQdHomiv%2BKt22G2IDB00il3Yyrza107VbnlJQPb9JyS0wUwSdQuJxrIRovB3JNTM%0D%0AzoVFy8KiKc0vQ7WM4soVQG0VFVg%2FObDqaru%2Bl50EwKYKUTyWccoOBZbRlcE510hvcibVMwAWE8sM%0D%0AKCLdklw3Tk%2FOLku1V4i0QUJLN5OEloYRGuM8O%2FWjk%2FOMdasIqUFPumL5NhQ0Gs03EWspIqe0gSa6%0D%0AUtDEOW67Qd2H07ERmrXdCez84TKeQe5wue5FdArHZyORZi%2F86yjLLOWih3iUOVyJTqYGMRE4dSiJ%0D%0A266c%2FiobaKI0RHGr1kAQ3lpyLZCVt40cBN0MMp5M8EjoYddapKezW1D4TCusT1X31wfLnmwO4d6P%0D%0AxsfOAZ2nNxCkmN%2BoSgeOCYcDoGrmzTGBE82VkBX5d6ow5bKrHymqHMraEZ1FKK8ouphncCWiKzrq%0D%0AbuUD7S6fMzh03YUHU1lg%2F3XVPbtUS89polnUTENVZNW0i%2BmbK%2FIaq6KIGqwy6VbbBl5oXWupdZCo%0D%0A1ipxRtV9hYKgUSsGM6hJxusyLDU7bzWpneOCQPNEsMFvqxph9cTrVn7odzprZYFYritV4qtPH%2FrX%0D%0ACXZwB8SjB%2BfAcyq4CiV8e0gRLPqyk%2BRMNuAVuSvyNSJcOfOUtN17Fb%2FjhTU%2FLFWafr%2Fk1b1Kqel3%0D%0A6qWO79erfb9a6XVr96GwiCiu%2BtlnlwGcR9FF%2FvFFta99gImXR24XRiwuM%2FWBpayIqw8w1drmDzAO%0D%0AAdG5F9QGrXqrG5Ra9c6g5PW6zVIrDLqlXhA2eoNe6Ddbg%2Fuuc6TAXqceekG%2FWQqqYVjygoqk32yV%0D%0AGl6t1vEanWbf69zPlzEw80w%2Bcl%2BAexWv7b8AAAD%2F%2FwMAUEsDBBQABgAIAAAAIQDeI%2FLThQIAALEF%0D%0AAAANAAAAeGwvc3R5bGVzLnhtbKRUW2%2BbMBR%2Bn7T%2FYPmdGmjIkgiolgtSpW6a1E7aqwMmseoLsk2X%0D%0AbNp%2F7zGQhKrTNq0v%2BJzD8Xe%2Bc3N6c5ACPTFjuVYZjq5CjJgqdcXVLsNfH4pghpF1VFVUaMUyfGQW%0D%0A3%2BTv36XWHQW73zPmEEAom%2BG9c82CEFvumaT2SjdMwZ9aG0kdqGZHbGMYray%2FJAWJw3BKJOUK9wgL%0D%0AWf4LiKTmsW2CUsuGOr7lgrtjh4WRLBe3O6UN3QqgeogmtDxhd8oreMlLo62u3RXAEV3XvGSvWc7J%0D%0AnABSntZaOYtK3SoHtQJoH2HxqPR3Vfhf3th75an9gZ6oAEuESZ6WWmiDHFQGiHUWRSXrPVZU8K3h%0D%0A3q2mkotjb469oSvm4Cc5pOaNxPMYDguXuBBnVrEnAIY8heo4ZlQBChrkh2MD4RU0sofp%2FP7ivTP0%0D%0AGMXJ6ALpAubpVpsKBudSj5MpTwWrHRA1fLf3p9MNfLfaOahynlac7rSiwqfSg5wFSKdkQtz74fpW%0D%0Av8A%2B1Ei1spDutsowjKkvwkmERAaxx%2BsVjz9G67HfDIsO9Ut8QBzRfkH6HB75fmf4s98GAZMzQKBt%0D%0Ay4Xj6jeEAbM6XEoQ%2Bg44P9ldcc5RoBIVq2kr3MP5Z4Yv8idW8VbGZ68v%2FEm7DiLDF%2FnOdyqa%2Bhjs%0D%0A4O4sjBecqDU8wz83yw%2Fz9aaIg1m4nAWTa5YE82S5DpLJarleF%2FMwDle%2FRov2hjXrnoM8hcVaWAHL%0D%0AaIZkhxTvL7YMj5SefjejQHvMfR5Pw49JFAbFdRgFkymdBbPpdRIUSRSvp5PlJimSEffk%2F7hHIYmi%0D%0A%2Fi3z5JOF45IJrk69OnVobIUmgfqHJMipE%2BTy1ubPAAAA%2F%2F8DAFBLAwQUAAYACAAAACEAyuNFvHoB%0D%0AAACgAgAAGAAAAHhsL3dvcmtzaGVldHMvc2hlZXQxLnhtbIySy24rIQyG95X6Doh9h0nvjTKpKkXV%0D%0A6aJHVW97hvHMoAAegXPSvH0Nac4mm%2B5swJ%2F9%2B2dx%2F%2BWd%2BAcxWQyNnFW1FBAMdjYMjfx4fzy7lSKR%0D%0ADp12GKCRO0jyfnl6sthiXKcRgAQTQmrkSDTNlUpmBK9ThRMEvukxek2cxkGlKYLuSpF36ryur5XX%0D%0ANsg9YR5%2Fw8C%2BtwZWaDYeAu0hEZwmnj%2BNdkoHmje%2FwXkd15vpzKCfGNFaZ2lXoFJ4M38aAkbdOtb9%0D%0ANbvU5sAuyRHeWxMxYU8V49R%2B0GPNd%2BpOMWm5KHt4iYKXDX%2B15x5veZ0zqZaLzrK6bImI0DfyoRyW%0D%0Agk8L2%2FRTnGNBun0DB4agY%2F%2BkyL60iOt8%2BcRHdeapo9rH4gu376DXG0evuP0DdhiJIVesM8udd7sV%0D%0AJMN7Zkx1fpVJBbTSpDme9ADPOg42JOGgL69upIh7TF1xTDjl2htGtkiE%2FpCN%2FBOAHa%2BrCyl6RDok%0D%0Aedr%2Ff2v5DQAA%2F%2F8DAFBLAwQUAAYACAAAACEAod4L6kMBAABjAgAAEQAIAWRvY1Byb3BzL2NvcmUu%0D%0AeG1sIKIEASigAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjJJfS8MwFMXfBb9DyXubZutU%0D%0AQtuBykB0ILih%2BBaSu63Y%2FCGJdvv2pu1WK%2FPBx9xz8ss5l%2BTzvayjL7Cu0qpAJElRBIprUaltgdar%0D%0ARXyDIueZEqzWCgp0AIfm5eVFzg3l2sKz1Qasr8BFgaQc5aZAO%2B8NxdjxHUjmkuBQQdxoK5kPR7vF%0D%0AhvEPtgU8SdMrLMEzwTzDLTA2AxEdkYIPSPNp6w4gOIYaJCjvMEkI%2FvF6sNL9eaFTRk5Z%2BYMJnY5x%0D%0Ax2zBe3Fw7101GJumSZppFyPkJ%2Fht%2BfTSVY0r1e6KAypzwSm3wLy25YNlMnrcMZXj0bTdYM2cX4Zl%0D%0AbyoQt4ex8VwMxK5AjwURhUi0L3BSXqd396sFKicpyWJC4nS2IhlNrynJ3tu3f91vI%2FYDeUzwb2I2%0D%0Ao5PZiHgClDk%2B%2BxblNwAAAP%2F%2FAwBQSwMEFAAGAAgAAAAhAN5BFtmKAQAAEQMAABAACAFkb2NQcm9w%0D%0Acy9hcHAueG1sIKIEASigAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0D%0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJJBb9swDIXvA%2FYf%0D%0ADN0bOd06DIGsYkg39LBiAZJ2Z02mY6GyJIiskezXj7bR1Gl72o3ke3j6REldHzpf9JDRxVCJ5aIU%0D%0ABQQbaxf2lbjf%2Fbj4KgokE2rjY4BKHAHFtf74QW1yTJDJARYcEbASLVFaSYm2hc7gguXAShNzZ4jb%0D%0AvJexaZyFm2ifOggkL8vyi4QDQaihvkinQDElrnr639A62oEPH3bHxMBafUvJO2uIb6nvnM0RY0PF%0D%0A94MFr%2BRcVEy3BfuUHR11qeS8VVtrPKw5WDfGIyj5MlC3YIalbYzLqFVPqx4sxVyg%2B8truxTFH4Mw%0D%0A4FSiN9mZQIw12KZmrH1Cyvp3zI%2FYAhAqyYZpOJZz77x2n%2FVyNHBxbhwCJhAWzhF3jjzgr2ZjMr1D%0D%0AvJwTjwwT74SzHfimM%2Bd845X5pFfZ69glE44snKqfLjzifdrFG0PwvM7zodq2JkPNL3Ba92mgbnmT%0D%0A2Q8h69aEPdTPnrfC8PgP0w%2FXy6tF%2Bankd53NlHz5y%2FofAAAA%2F%2F8DAFBLAQItABQABgAIAAAAIQCs%0D%0AmTVRbwEAAD8EAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAG%0D%0AAAgAAAAhALVVMCP0AAAATAIAAAsAAAAAAAAAAAAAAAAAqAMAAF9yZWxzLy5yZWxzUEsBAi0AFAAG%0D%0AAAgAAAAhAIH0CisEAQAApwIAABoAAAAAAAAAAAAAAAAAzQYAAHhsL19yZWxzL3dvcmtib29rLnht%0D%0AbC5yZWxzUEsBAi0AFAAGAAgAAAAhAO3NKzphAgAA1gQAAA8AAAAAAAAAAAAAAAAAEQkAAHhsL3dv%0D%0Acmtib29rLnhtbFBLAQItABQABgAIAAAAIQCW8NesNBsAAABOAAARAAAAAAAAAAAAAAAAAJ8LAAB4%0D%0AbC92YmFQcm9qZWN0LmJpblBLAQItABQABgAIAAAAIQCLgm5YkwYAAI4aAAATAAAAAAAAAAAAAAAA%0D%0AAAInAAB4bC90aGVtZS90aGVtZTEueG1sUEsBAi0AFAAGAAgAAAAhAN4j8tOFAgAAsQUAAA0AAAAA%0D%0AAAAAAAAAAAAAxi0AAHhsL3N0eWxlcy54bWxQSwECLQAUAAYACAAAACEAyuNFvHoBAACgAgAAGAAA%0D%0AAAAAAAAAAAAAAAB2MAAAeGwvd29ya3NoZWV0cy9zaGVldDEueG1sUEsBAi0AFAAGAAgAAAAhAKHe%0D%0AC%2BpDAQAAYwIAABEAAAAAAAAAAAAAAAAAJjIAAGRvY1Byb3BzL2NvcmUueG1sUEsBAi0AFAAGAAgA%0D%0AAAAhAN5BFtmKAQAAEQMAABAAAAAAAAAAAAAAAAAAoDQAAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAA%0D%0AAAoACgB9AgAAYDcAAAAA&contentType=text/plain
----=_Part_2_5070931.1417531039501
Managed to solve this problem by using the following request body header.
POST http://privatecloud.com/rest/api/setDataField HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/form-data; boundary="----=_Part_0_2215605.1417599940206"
MIME-Version: 1.0
Content-Length: 22311
Host: privatecloud.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
------=_Part_0_2215605.1417599940206
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="sessionId"
f2d1dab5b6f843feb71344e437a2df88#1
------=_Part_0_2215605.1417599940206
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="objName"
demoAttachment
------=_Part_0_2215605.1417599940206
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="fieldName"
file
------=_Part_0_2215605.1417599940206
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="contentType"
text/plain
------=_Part_0_2215605.1417599940206
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="fileName"
Book.xlsm
------=_Part_0_2215605.1417599940206
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="output"
xml
------=_Part_0_2215605.1417599940206
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: form-data; name="id"
20936
------=_Part_0_2215605.1417599940206
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Content-Disposition: form-data; name="value"
UEsDBBQABgAIAAAAIQCsmTVRbwEAAD8EAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAA=
C AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
------=_Part_0_2215605.1417599940206--
- See more at: https://community.progress.com/community_groups/rollbase/f/25/p/14664/52650.aspx?Redirected=true#52650
HTTP/1.1 header field values can be
folded onto multiple lines if the
continuation line begins with a space
or horizontal tab. All linear white
space, including folding, has the same
semantics as SP. A recipient MAY
replace any linear white space with a
single SP before interpreting the
field value or forwarding the message
downstream.(quoted from here)
Here's my server side script,which just dumps the cookie content:
var_dump($_COOKIE);exit;
Here comes my test,please pay attention to the cookie part:
GET /logtest.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.17) Gecko/20110420 AlexaToolbar/alxf-2.11 Firefox/3.6.17
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Cookie: A=t;
artDate=t
Cache-Control: max-age=0
HTTP/1.1 200 OK
Server: iis/8.0
Date: Mon, 23 May 2011 12:38:00 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
X-Powered-By: PHP/5.3.2
Set-Cookie: ZDEDebuggerPresent=php,phtml,php3; path=/
27
array(1) {
["A"]=>
string(1) "t"
}
0
GET /logtest.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.17) Gecko/20110420 AlexaToolbar/alxf-2.11 Firefox/3.6.17
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Cookie: A=t;
artDate=t
Cache-Control: max-age=0
HTTP/1.1 200 OK
Server: iis/8.0
Date: Mon, 23 May 2011 12:38:11 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
X-Powered-By: PHP/5.3.2
Set-Cookie: ZDEDebuggerPresent=php,phtml,php3; path=/
27
array(1) {
["A"]=>
string(1) "t"
}
0
GET /logtest.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.17) Gecko/20110420 AlexaToolbar/alxf-2.11 Firefox/3.6.17
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Cookie: A=t;artDate=t
Cache-Control: max-age=0
HTTP/1.1 200 OK
Server: iis/8.0
Date: Mon, 23 May 2011 12:38:55 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
X-Powered-By: PHP/5.3.2
Set-Cookie: ZDEDebuggerPresent=php,phtml,php3; path=/
47
array(2) {
["A"]=>
string(1) "t"
["artDate"]=>
string(1) "t"
}
0
It's a known issue that doesn't have a high priority.