Popular Post FaridAgl Posted January 21, 2013 Popular Post Share Posted January 21, 2013 (edited) WinHttp.au3:#include-once Global Const $HTTP_STATUS_OK = 200 Func HttpPost($sURL, $sData = "") Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1") $oHTTP.Open("POST", $sURL, False) If (@error) Then Return SetError(1, 0, 0) $oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded") $oHTTP.Send($sData) If (@error) Then Return SetError(2, 0, 0) If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0) Return SetError(0, 0, $oHTTP.ResponseText) EndFunc Func HttpGet($sURL, $sData = "") Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1") $oHTTP.Open("GET", $sURL & "?" & $sData, False) If (@error) Then Return SetError(1, 0, 0) $oHTTP.Send() If (@error) Then Return SetError(2, 0, 0) If ($oHTTP.Status <> $HTTP_STATUS_OK) Then Return SetError(3, 0, 0) Return SetError(0, 0, $oHTTP.ResponseText) EndFuncExample 1:#include "WinHttp.au3" Global $MD5 = HttpPost("http://www.afk-manager.ir/test/post.php", "password=WeWantThisAsMd5") MsgBox(64, "MD5", $MD5)Example 2:#include "WinHttp.au3" Global $sGet = HttpGet("http://www.google.com/") FileWrite("Google.txt", $sGet)Speed compare:expandcollapse popup[WinHttp.WinHttpRequest.5.1 GET] 1 = 422.961162765649 2 = 455.738280639636 3 = 441.821516504421 4 = 390.538648365335 Total = 1711.059608275041 Average = 427.7649020687603 [WinHttp.WinHttpRequest.5.1 POST] 1 = 826.436200956633 2 = 872.366642546045 3 = 871.266802895081 4 = 875.792832686324 Total = 3445.862479084083 Average = 861.4656197710208 [HTTP UDF GET] 1 = 984.282912132673 2 = 813.896511915435 3 = 781.158836566862 4 = 791.901235916364 Total = 3371.239496531334 Average = 842.8098741328335 [HTTP UDF POST] 1 = 788.734835486743 2 = 975.688234142967 3 = 785.810779035388 4 = 847.537193542955 Total = 3397.771042208053 Average = 849.4427605520133 [InetRead GET] 1 = 672.120733570292 2 = 595.221462195098 3 = 561.122261209642 4 = 738.180516302658 Total = 2566.64497327769 Average = 641.6612433194225Tests result:Server 2003 32bit OK Server 2003 64bit Not Tested Server 2008 32bit Not Tested Server 2008 64bit OK XP 32bit OK XP 64bit Not Tested Vista 32bit Not Tested Vista 64bit Not Tested 7 32bit OK 7 64bit OK 8 32bit OK 8 64bit OKAre you interested? Check this out:http://msdn.microsoft.com/en-us/library/windows/desktop/aa384106(v=vs.85).aspx Edited January 21, 2013 by D4RKON3 Sodori, Alexxander, Fire and 8 others 11 http://faridaghili.ir Link to comment Share on other sites More sharing options...
FaridAgl Posted January 21, 2013 Author Share Posted January 21, 2013 Updated, Now the $sData parameter is optional. http://faridaghili.ir Link to comment Share on other sites More sharing options...
FaridAgl Posted January 21, 2013 Author Share Posted January 21, 2013 First post updated with some extra info. http://faridaghili.ir Link to comment Share on other sites More sharing options...
guinness Posted January 21, 2013 Share Posted January 21, 2013 Interesting comparison. Thanks. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Fire Posted February 12, 2013 Share Posted February 12, 2013 Thank you very much dude.Very nice;) [size="5"] [/size] Link to comment Share on other sites More sharing options...
FaridAgl Posted February 13, 2013 Author Share Posted February 13, 2013 Your welcome my friend. http://faridaghili.ir Link to comment Share on other sites More sharing options...
tempman Posted September 23, 2013 Share Posted September 23, 2013 I must say Thank You for this!!! Link to comment Share on other sites More sharing options...
FaridAgl Posted September 24, 2013 Author Share Posted September 24, 2013 Your welcome http://faridaghili.ir Link to comment Share on other sites More sharing options...
VAN0 Posted January 3, 2014 Share Posted January 3, 2014 (edited) Thank you very much! very useful. Is there a way capture redirects? It seems right now it captures the finished document, all 302 responses are being followed and $oHTTP.status is always returns 200 (or error) Thank you. [EDIT] Found it: $oHTTP.Option(6) = false Edited January 3, 2014 by VAN0 Link to comment Share on other sites More sharing options...
Zedna Posted January 5, 2014 Share Posted January 5, 2014 To me it seems simple alternative to use $oXmlHttp = ObjCreate("Microsoft.XMLHTTP") $oXmlHttp.Open($type, $url, False) $oXmlHttp.Send() Return $oXmlHttp.ResponseText as seen in my example: '?do=embed' frameborder='0' data-embedContent>> mLipok 1 Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
xenoranger Posted April 8, 2014 Share Posted April 8, 2014 Is there a way to post to an HTTPS using this? Link to comment Share on other sites More sharing options...
Alexxander Posted May 12, 2014 Share Posted May 12, 2014 thank you ,very nice work Link to comment Share on other sites More sharing options...
Sodori Posted December 9, 2014 Share Posted December 9, 2014 Dunno if Zedna did a shorter version of it since my brain can't deal with much more codes tonight. Regardless, your worked @FaridAgl. So you get the creds Link to comment Share on other sites More sharing options...
TayganDB Posted September 23, 2015 Share Posted September 23, 2015 First post on the forums Thanks so much for this! Made my day a lot easier!I'm using the HttpGet function in a GUI and if the page is not available my GUI starts freezing up so I added in $oHTTP.SetTimeouts to help with error handling.Func HttpGet($sURL, $sData = "") Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1") $oHTTP.Open("GET", $sURL & "?" & $sData, False) $oHTTP.SetTimeouts(50, 50, 50, 50) If (@error) Then Return SetError(1, 0, 0) $oHTTP.Send() If (@error) Then Return SetError(2, 0, 0) If ($oHTTP.Status <> 200) Then Return SetError(3, 0, 0) Return SetError(0, 0, $oHTTP.ResponseText) EndFunc ;==>HttpGet The values are for ResolveTimeout, ConnectTimeout, SendTimeout, ReceiveTimeout. I've set to 50ms because I'm working with a LAN connection and my requests are tiny. GreeNerO and Zedna 1 1 Link to comment Share on other sites More sharing options...
Fierro Posted March 30, 2016 Share Posted March 30, 2016 My very 1st post is a question: When $sData is a "st" value witch is this syntax ? And How to calculate the mt parameter in a PHP request? And it's necessary? Thanks for any answer. Link to comment Share on other sites More sharing options...
DeepikaManhas Posted June 1, 2022 Share Posted June 1, 2022 hi , I need your help , I want to know how to hit twitter API in autoit for Post Retweet a tweet . As I am new in this field I am not able to understand. $oHTTP = ObjCreate("winhttp.winhttprequest.5.1") $oHTTP.Open("GET", "https://api.twitter.com/2/users/1531500716577419264/retweets", False) $oHTTP.Send() Local $arr[7] = ["OAuth oauth_consumer_key=pnIMwqNZnB0ACYfFrlBikJNkE","oauth_token=1531500716577419264-8LQ2pzEdZORqBn1MIqXEZeNlthObbo","oauth_signature_method=HMAC-SHA1","oauth_timestamp=1654067601","oauth_nonce=tK85msdw4G1","oauth_version=1.0","oauth_signature=33KsURODsy9gUi5xFa%2FsM2Ac8vo%3D"] For $i = 0 to 7 - 1 ; ConsoleWrite($arr[$i] & @LF) Next $tweet_id=FileRead( "1531198564613124096") Global $ObjLevel = -1 Global $object = Json_Decode($tweet_id) Json_Dump($tweet_id) $oHTTP.Send($tweet_id) $oReceived = $oHTTP.ResponseText $oStatusCode = $oHTTP.Status If $oStatusCode <> 200 then MsgBox(0, "Response code", $oStatusCode) EndIf $file = FileOpen("", 2) ; FileWrite($file, $oReceived) FileClose($file) 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