Advertisement
Guest User

TradeFunc_DoPostRequest

a guest
Mar 6th, 2017
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. TradeFunc_DoPostRequest(payload, openSearchInBrowser = false) {
  2. UserAgent := TradeGlobals.Get("UserAgent")
  3. cfduid := TradeGlobals.Get("cfduid")
  4. cfClearance := TradeGlobals.Get("cfClearance")
  5.  
  6. /* Not working yet, no response
  7. postData := payload
  8. payLength:= StrLen(payload)
  9. reqHeaders =
  10. (LTrim
  11. Content-type: application/html
  12. Host: poe.trade
  13. Connection: keep-alive
  14. Content-Length: %payLength%
  15. Cache-Control: max-age=0
  16. Origin: http://poe.trade
  17. Upgrade-Insecure-Requests: 1
  18. Content-type: application/x-www-form-urlencoded
  19. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  20. Referer: http://poe.trade/
  21. )
  22. If (StrLen(UserAgent)) {
  23. options .= "`nUser-Agent: " UserAgent
  24. options .= "`nCookie: __cfduid= " cfduid "; cf_clearance= " cfClearance
  25. }
  26. options =
  27. (LTrim
  28. Charset: UTF-8
  29. Method: POST
  30. )
  31. If (openSearchInBrowser) {
  32. options .= "`nNO_AUTO_REDIRECT"
  33. }
  34.  
  35. html := ""
  36. html := PoEScripts_Download("http://poe.trade/search", ioData := postData, ioHdr := reqHeaders, options, false)
  37. */
  38.  
  39. ComObjError(0)
  40. Encoding := "utf-8"
  41. ;Reference in making POST requests - http://stackoverflow.com/questions/158633/how-can-i-send-an-http-post-request-to-a-server-from-excel-using-vba
  42. HttpObj := ComObjCreate("WinHttp.WinHttpRequest.5.1")
  43. If (openSearchInBrowser) {
  44. HttpObj.Option(6) := False
  45. }
  46.  
  47. HttpObj.Open("POST","http://poe.trade/search")
  48. HttpObj.SetRequestHeader("Host","poe.trade")
  49. HttpObj.SetRequestHeader("Connection","keep-alive")
  50. HttpObj.SetRequestHeader("Content-Length",StrLen(payload))
  51. HttpObj.SetRequestHeader("Cache-Control","max-age=0")
  52. HttpObj.SetRequestHeader("Origin","http://poe.trade")
  53. HttpObj.SetRequestHeader("Upgrade-Insecure-Requests","1")
  54. HttpObj.SetRequestHeader("User-Agent", UserAgent)
  55. HttpObj.SetRequestHeader("Content-type","application/x-www-form-urlencoded")
  56. HttpObj.SetRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")
  57. HttpObj.SetRequestHeader("Referer","http://poe.trade/")
  58.  
  59. HttpObj.SetRequestHeader("Cookie","__cfduid=" cfduid "; cf_clearance=" cfClearance)
  60. ;HttpObj.SetRequestHeader("Accept-Encoding","gzip;q=0,deflate;q=0") ; disables compression
  61. ;HttpObj.SetRequestHeader("Accept-Encoding","gzip, deflate")
  62. ;HttpObj.SetRequestHeader("Accept-Language","en-US,en;q=0.8")
  63. HttpObj.SetRequestHeader("Cookie","__cfduid=" cfduid "; cf_clearance=" cfClearance)
  64. HttpObj.Send(payload)
  65. HttpObj.WaitForResponse()
  66.  
  67. Try {
  68. If Encoding {
  69. oADO := ComObjCreate("adodb.stream")
  70. oADO.Type := 1
  71. oADO.Mode := 3
  72. oADO.Open()
  73. oADO.Write(HttpObj.ResponseBody)
  74. oADO.Position := 0
  75. oADO.Type := 2
  76. oADO.Charset := Encoding
  77. html := oADO.ReadText()
  78. oADO.Close()
  79. }
  80. } Catch e {
  81. html := HttpObj.ResponseText
  82. If (TradeOpts.Debug) {
  83. MsgBox % e
  84. }
  85. }
  86.  
  87. If A_LastError
  88. MsgBox % A_LastError
  89.  
  90. FileDelete, %A_Scriptdir%\result.txt
  91. FileAppend, %html%, %A_Scriptdir%\result.txt
  92.  
  93. Return, html
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement