  We design a simple ascending-price algorithm to compute a
$(1+\varepsilon)$-approximate equilibrium in Arrow-Debreu exchange markets with
weak gross substitute (WGS) property, which runs in time polynomial in market
parameters and $\log 1/\varepsilon$. This is the first polynomial-time
algorithm for most of the known tractable classes of Arrow-Debreu markets,
which is easy to implement and avoids heavy machinery such as the ellipsoid
method. In addition, our algorithm can be applied in unknown market setting
without exact knowledge about the number of agents, their individual utilities
and endowments. Instead, our algorithm only relies on queries to a global
demand oracle by posting prices and receiving aggregate demand for goods as
feedback. When demands are real-valued functions of prices, the oracles can
only return values of bounded precision based on real utility functions. Due to
this more realistic assumption, precision and representation of prices and
demands become a major technical challenge, and we develop new tools and
insights that may be of independent interest. Furthermore, our approach also
gives the first polynomial-time algorithm to compute an exact equilibrium for
markets with spending constraint utilities, a piecewise linear concave
generalization of linear utilities. This resolves an open problem posed by Duan
and Mehlhorn (2015).
