Hasher Posted January 29, 2007 Share Posted January 29, 2007 Hi Below is a fucntion I have been working on , It works fine but I am wondering if I can make it faster Func posting($i,$end,$LandmarkID) $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") Do $sTestUrl = "http://www.test.com/data.php?action=senddata" $PostData = "landmark=" & $LandmarkID $ResolveTimeout = 5000 $ConnectTimeout = 5000 $SendTimeout = 5000 $ReceiveTimeout = 5000 $oHttpRequest = ObjCreate("MSXML2.ServerXMLHTTP") $oHttpRequest.Open ("POST", $sTestUrl) $oHttpRequest.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $oHttpRequest.setRequestHeader ("Connection", "Keep-Alive") $oHttpRequest.Send ($PostData) if @error then ExitLoop $oHttpRequest = "" $i = $i + 1 Until $i = $end EndFunc Func MyErrFunc() SetError(1) ; something to check for when this function returns Endfunc oÝ÷ Ø-êÞk²¶)z{ayÊ'ç-ÚÛaz}ý±éÝßٮةºWg¬mçèç%¢È§Ø^rçyËb¢t¨ëax%G+ºÚ"µÍÜ ÌÍÚÈHHÈLÝBÌÍÛÒ]YÝÙ[ ÌÍÔÜÝ]JBÛY L B Unfortunatley this is not working Any help or suggestions would be apprecaited Firefox's secret is the same as Jessica Simpson's: its effortless, glamorous style is the result of shhh extensions! Link to comment Share on other sites More sharing options...
Uten Posted January 29, 2007 Share Posted January 29, 2007 Yes, you can probably do it faster. But, why would you like to send the same data 1000 times to the same server? Please keep your sig. small! Use the help file. Search the forum. Then ask unresolved questions :) Script plugin demo, Simple Trace udf, TrayMenuEx udf, IOChatter demo, freebasic multithreaded dll sample, PostMessage, Aspell, Code profiling Link to comment Share on other sites More sharing options...
DaleHohm Posted January 29, 2007 Share Posted January 29, 2007 You probably want to cheek the readyState property... Dale Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model Automate input type=file (Related) Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded Better Better? IE.au3 issues with Vista - Workarounds SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead? Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble Link to comment Share on other sites More sharing options...
Hasher Posted January 29, 2007 Author Share Posted January 29, 2007 Thanks for your reply Uten ....I only put 1000 in the example to make a point Dale thanks for your reply , the best I could come up with is : Func posting($i,$end,$LandmarkID) $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") Do $sTestUrl = "http://www.test.com/data.php?action=senddata" $PostData = "landmark=" & $LandmarkID $ResolveTimeout = 5000 $ConnectTimeout = 5000 $SendTimeout = 5000 $ReceiveTimeout = 5000 $oHttpRequest = ObjCreate("MSXML2.ServerXMLHTTP") $oHttpRequest.Open ("POST", $sTestUrl) $oHttpRequest.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded") $oHttpRequest.setRequestHeader ("Connection", "Keep-Alive") $oHttpRequest.Send ($PostData) $k = 0 While $oHttpRequest.readyState = 4 $oHttpRequest.Send ($PostData) $oHttpRequest.waitForResponse(9000) $k = $k + 1 if $k = 1000 then ExitLoop Wend $oHttpRequest = "" EndFunc Unfortunatly this still doesnt work without a ".open" which is the most time consuming and heavy use on the server and program. The loop is working but send isnt sending. Also is there anyway I can watch output , Fiddler is not catching it Any futher pointers anyone can give me ? Firefox's secret is the same as Jessica Simpson's: its effortless, glamorous style is the result of shhh extensions! Link to comment Share on other sites More sharing options...
Uten Posted January 29, 2007 Share Posted January 29, 2007 Could you try to explain what you want to archive. As far as I understand your code is sending the same form (POST) back to the server a 1000 times. And that does not make sense. In my eyes it looks like a brute force DOS attack? Please keep your sig. small! Use the help file. Search the forum. Then ask unresolved questions :) Script plugin demo, Simple Trace udf, TrayMenuEx udf, IOChatter demo, freebasic multithreaded dll sample, PostMessage, Aspell, Code profiling Link to comment Share on other sites More sharing options...
Hasher Posted January 29, 2007 Author Share Posted January 29, 2007 Basically this script takes the hourly colated info in a geological database which is held in a excel data sheet and posts the tally in the company server, normaly its about 300 posts ......that takes about 3 -4 minutes but sometimes its higher or lower depending on the office workload. Overall its part of a larger script that logs statical data to the companys intranet . Unfortunatly I dont have access to the intranet source otherwise I could change it to a whole number rather than post after post. As for the worth of this script so far my workload has been cut to about 2 hours daily......which I plan to improve on ;-) No I am not doing a DOS attack on anything and if this thread offends anyone we can close it right here. Hope that answers your question...... on another note I rewrote this function in delphi with threads and it was actually slower than Autoit......could be my crap coding thou ;-) Firefox's secret is the same as Jessica Simpson's: its effortless, glamorous style is the result of shhh extensions! Link to comment Share on other sites More sharing options...
Uten Posted January 29, 2007 Share Posted January 29, 2007 A very good explanation, thank you.. I hope you have an appropriate test server so you don't corrupt. Sounds like there is a serverside or bandwidth limitation. But on the other hand if you do 300 posts in 4 minutes that is a little less than a second on each post. Not very fast, but not to bad either. Do you have an appropriate test setup? I guess testing against the production server ain't popular. At least the error message from www.test.com suggests that people use another domain.. I will PM you a few suggestions a bit later (abusers can go other places to get their code), but don't expect much. Please keep your sig. small! Use the help file. Search the forum. Then ask unresolved questions :) Script plugin demo, Simple Trace udf, TrayMenuEx udf, IOChatter demo, freebasic multithreaded dll sample, PostMessage, Aspell, Code profiling Link to comment Share on other sites More sharing options...
Hasher Posted January 29, 2007 Author Share Posted January 29, 2007 Its www.test.com as my companys intranet is not public , we have a testing database which takes a hammering ....mainly from me . Our Inet is crap in Australia ....really an embrassment, we also are in a remote office and our speeds are restricted to 256k :-( Firefox's secret is the same as Jessica Simpson's: its effortless, glamorous style is the result of shhh extensions! Link to comment Share on other sites More sharing options...
Uten Posted January 29, 2007 Share Posted January 29, 2007 My point with www.test.com is that someone actually owns that domain. So maybe use www.test.local in posted code. People tend to just uncritical copy/paste and run scripts to do a test. You can even find scripts doing this automatically. Being a testdb must be a shitty life.. Please keep your sig. small! Use the help file. Search the forum. Then ask unresolved questions :) Script plugin demo, Simple Trace udf, TrayMenuEx udf, IOChatter demo, freebasic multithreaded dll sample, PostMessage, Aspell, Code profiling Link to comment Share on other sites More sharing options...
nfwu Posted January 29, 2007 Share Posted January 29, 2007 Maybe having two scripts running, one script doing even numbers, the other odd numbers? This depends on your bandwidth though. #) TwitterOut of date stuff:Scripts: Sudoku Solver | Webserver | 3D library (Pure AutoIt) | Wood's GadgetsUDFs: _WoodUniqueID() | _DialogEditIni() | _Console*() | _GetIPConfigData() | _URLEncode/Decode() Link to comment Share on other sites More sharing options...
Hasher Posted January 30, 2007 Author Share Posted January 30, 2007 Needless to say I love Uten and autoit Firefox's secret is the same as Jessica Simpson's: its effortless, glamorous style is the result of shhh extensions! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now