Procurement-PoE / Procurement

Path Of Exile Character & Stash Management Tool
Artistic License 2.0
331 stars 133 forks source link

Stuck on Error 503 trying to log in #1111

Closed Reithan closed 4 years ago

Reithan commented 4 years ago

Trying to log in all morning, but getting "[Error] One or more errors occurred."

I'm using the latest fixed version by @thailyn from here: https://github.com/Stickymaddness/Procurement/pull/1093

Error log is:

[14-05-2020 12:04] Failed to build HTTP request and get response for: method=GET, url='https://www.pathofexile.com/login', allowAutoRedirects=, requestData='': The remote server returned an error: (503) Server Unavailable.
[14-05-2020 12:04] System.AggregateException: One or more errors occurred. ---> System.Exception: Error parsing JS challenge HTML
   at CloudflareSolverRe.Types.Javascript.JsChallenge.Parse(String html, Uri siteUrl, Boolean debug)
   at CloudflareSolverRe.Solvers.JsChallengeSolver.<SolveChallenge>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.Solvers.JsChallengeSolver.<Solve>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<SolveJavascriptChallenge>d__35.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at CloudflareSolverRe.CloudflareSolver.<SolveWithJavascript>d__33.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<Solve>d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<Solve>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<>c__DisplayClass30_0.<<Solve>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.Utilities.SemaphoreLocker.<LockAsync>d__1`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<Solve>d__30.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.ClearanceHandler.<GetClearance>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.ClearanceHandler.<SendAsync>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.Http.HttpClient.<GetContentAsync>d__32`1.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at POEApi.Transport.HttpTransport.CloudFlareSessionIdLogin()
   at POEApi.Transport.HttpTransport.Authenticate(String email, SecureString password)
   at POEApi.Model.POEModel.Authenticate(String email, SecureString password, Boolean offline, String realm)
   at Procurement.ViewModel.LoginWindowViewModel.<>c__DisplayClass23_0.<Login>b__0()
   at System.Threading.Tasks.Task.Execute()
---> (Inner Exception #0) System.Exception: Error parsing JS challenge HTML
   at CloudflareSolverRe.Types.Javascript.JsChallenge.Parse(String html, Uri siteUrl, Boolean debug)
   at CloudflareSolverRe.Solvers.JsChallengeSolver.<SolveChallenge>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.Solvers.JsChallengeSolver.<Solve>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<SolveJavascriptChallenge>d__35.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at CloudflareSolverRe.CloudflareSolver.<SolveWithJavascript>d__33.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<Solve>d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<Solve>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<>c__DisplayClass30_0.<<Solve>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.Utilities.SemaphoreLocker.<LockAsync>d__1`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.CloudflareSolver.<Solve>d__30.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.ClearanceHandler.<GetClearance>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CloudflareSolverRe.ClearanceHandler.<SendAsync>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.Http.HttpClient.<GetContentAsync>d__32`1.MoveNext()<---
thailyn commented 4 years ago

Looks like CloudFlare has changed again today. When there's an update to the library Procurement uses, I'll create a new patched version.

Reithan commented 4 years ago

Why is CloudFlare making daily/weekly updates to their API? Seems kinda screwy

thailyn commented 4 years ago

I can't say for sure. I expect Cloudflare wants to maintain the security of their API and respond to malicious users as soon as possible, but I haven't looked at what is being changed in these library updates in much detail.

Reithan commented 4 years ago

I guess the DDoS thing is a bit of an arms race. 🤷

thailyn commented 4 years ago

I've created a new patched version of Procurement that uses an updated version of the Cloudflare library. Please download it from the link in the initial description of PR #1093.

Reithan commented 4 years ago

@thailyn https://media.giphy.com/media/hv4TC2Ide8rDoXy0iK/giphy.gif

Stickymaddness commented 4 years ago

Procurement 1.29.0 has been released, which includes @thailyn's fixes as per the build he provided above.