c# - how to send a large URI using HttpWebRequest -


i'm using these lines fetch data company's server

httpwebrequest request = (httpwebrequest)webrequest.create(url); request.credentials = new networkcredential(usr, pass); servicepointmanager.servercertificatevalidationcallback = ((sender, certificate, chain, sslpolicyerrors) => true); httpwebresponse response = (httpwebresponse)request.getresponse();       

it works problem when send large urls this:

https://172.16.100.1:5002/arx/eventexport?num_events=-1&start_date=1335079800000&end_date=1335382199000&filter=<filter><name><mask>controller.door.closed</mask><mask>controller.notification.digitaloutputchanged</mask><mask>controller.dac.eventbufferoverflow</mask><mask>controller.door.forcedopen</mask><mask>controller.door.notclosed</mask><mask>controller.door.opened</mask><mask>controller.dac.poweron</mask><mask>controller.door.pulseopen</mask><mask>controller.door.pulseopenrequest</mask><mask>controller.door.requesttoexit</mask><mask>controller.reader.duress.alarm</mask><mask>controller.access.card.valid.standard</mask><mask>controller.access.card.invalid.inhibited</mask><mask>controller.access.card.invalid.pin</mask><mask>controller.access.card.invalid.pinmode</mask><mask>controller.access.card.invalid.door</mask><mask>controller.reader.invalid.format</mask><mask>controller.access.card.invalid.operatorcontrol</mask><mask>controller.access.card.invalid.pinattempts</mask><mask>controller.access.card.invalid.pintimeout</mask><mask>controller.access.card.invalid.zone.antipassback</mask><mask>controller.access.card.invalid.time.antipassback</mask><mask>controller.access.card.valid.pin</mask><mask>controller.reader.communicationfailure.active</mask><mask>controller.reader.communicationfailure.restored</mask><mask>controller.intrusionarea.blockinginput.closed</mask><mask>controller.intrusionarea.blockinginput.open</mask><mask>controller.notification.digitalinput1closed</mask><mask>controller.notification.digitalinput1opened</mask><mask>controller.dac.input2closed</mask><mask>controller.dac.input2opened</mask><mask>controller.dac.input4closed</mask><mask>controller.dac.input4opened</mask><mask>controller.dac.inputchanged</mask><mask>controller.door.mode.buzzerenabled</mask><mask>controller.door.mode.conference</mask><mask>controller.door.mode.rtemaintainedunlock</mask><mask>controller.door.mode.motorlocklowsecurity</mask><mask>controller.door.mode.unlocked</mask><mask>controller.door.mode.access.accessinhibited</mask><mask>controller.door.mode.access.buyalarmtime</mask><mask>controller.door.mode.access.pinonlyallowed</mask><mask>controller.door.mode.access.dualcardsrequired</mask><mask>controller.door.mode.access.pincardnumber</mask><mask>controller.door.mode.access.modepinrequired</mask><mask>controller.door.mode.access.modesitecodeonly</mask><mask>controller.door.mode.access.apenabled</mask><mask>controller.door.mode.exit.accessinhibited</mask><mask>controller.door.mode.exit.apenabled</mask><mask>controller.door.mode.exit.buyalarmtime</mask><mask>controller.door.mode.exit.dualcardsrequired</mask><mask>controller.door.mode.exit.pincardnumber</mask><mask>controller.door.mode.exit.pinonlyallowed</mask><mask>controller.door.mode.exit.modepinrequired</mask><mask>controller.door.mode.exit.modesitecodeonly</mask><mask>controller.door.motorlock.daylocked</mask><mask>controller.door.motorlock.initjumperinstalled</mask><mask>controller.door.motorlock.locked</mask><mask>controller.door.motorlock.nightlocked</mask><mask>controller.door.motorlock.tubturned</mask><mask>controller.door.motorlock.unlocked</mask><mask>controller.door.motorlock.error.encryptionfault</mask><mask>controller.door.motorlock.error.failedtolock</mask><mask>controller.door.motorlock.error.failedtounlock</mask><mask>controller.door.motorlock.error.problematlock</mask><mask>controller.door.motorlock.error.problematpermanentunlock</mask><mask>controller.door.motorlock.error.problematunlock</mask><mask>controller.door.motorlock.error.seriousproblematlock</mask><mask>controller.notification.powerfault.active</mask><mask>controller.notification.powerfault.restored</mask><mask>controller.reader.tamper.active</mask><mask>controller.notification.tamper.restored</mask></name></filter>      

i got exception

{"the remote server returned error: (414) request uri large."}

at line:

httpwebresponse response = (httpwebresponse)request.getresponse(); 

so how can send large uri httpwebrequest?

thanks in advance

414 error code due long uri, have mentioned, length of supported uri can set @ web server if / company owns server can change setting meet needs, more information go here,

but guess should change approach here because 80% of uri filter parameter should find other way shorten parameter, can use json shorter xml & can used data communication


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -