Commit graph

62 commits

Author SHA1 Message Date
Laurent Bachelier
3a9bc80f8a Saving cookies for debug isn't very interesting
We have them in headers in a clearer way, at least for the purpose of
debugging.
Showing new cookies as they appear could be done, though.
2014-03-14 01:53:49 +01:00
Laurent Bachelier
058cafe69e Save headers of response and request 2014-03-14 01:53:49 +01:00
Laurent Bachelier
6acfd75780 Save cookies on save_responses and pave the way for more good stuff
We apparently can't override the class in the Response, even if it is
changed in the Session. Still, it will be useful to have our own class.
2014-03-14 01:53:49 +01:00
Laurent Bachelier
95e71e329b Better filenames for save responses 2014-03-14 01:53:49 +01:00
Romain Bignon
a74b31df33 several of little fixes 2014-03-14 00:19:08 +01:00
Romain Bignon
16742dc9aa able to set None as default value on filters 2014-03-14 00:19:05 +01:00
Bezleputh
2673b3a340 fix rename error 2014-03-14 00:19:15 +01:00
Romain Bignon
266300ab65 add UrlNotResolvable exception when URL.build can't resolve url with keywords 2014-03-13 22:06:47 +01:00
Laurent Bachelier
fca0ab8733 Quick and dirty -a and -I support for Browser2 2014-03-13 22:04:20 +01:00
Romain Bignon
d472fd6eec fix crash 2014-03-13 21:45:34 +01:00
Romain Bignon
4cffb3038b raise errors on responses 2014-03-13 21:34:18 +01:00
Romain Bignon
9724dcf461 add URL.id2url decorator 2014-03-13 21:27:59 +01:00
Romain Bignon
bf8675c88b PagesBrowser.open and PagesBrowser.location always return a Response object 2014-03-13 21:27:59 +01:00
Bezleputh
eefe784352 [browser2] put ListElement call parameters in self.param 2014-03-13 20:20:03 +01:00
Bezleputh
7d59640712 [browser2] add a validate method in order to check objet before returning him 2014-03-13 20:20:03 +01:00
Johann Broudin
0f1726d01c add ssl proxy support to browser and browser2 and add the option _proxy_ssl 2014-03-13 20:20:02 +01:00
Johann Broudin
cafd6c8f05 Add proxy support to browser2 2014-03-13 20:20:02 +01:00
Laurent Bachelier
1e5f5940c5 Split _open() to allow request customization 2014-03-13 19:01:56 +01:00
Laurent Bachelier
b07da18081 More updates and cleanups for new requests 2014-03-13 18:07:17 +01:00
Laurent Bachelier
5711158f80 Require python-requests version 2014-03-13 17:53:01 +01:00
Laurent Bachelier
eb54528b95 Update Firefox to latest ESR 2014-03-13 17:36:44 +01:00
Laurent Bachelier
62e5d23f23 Another python-requests bug fixed in newer versions! 2014-03-13 17:32:45 +01:00
Laurent Bachelier
82c61f3668 Cleanups due to the usage of python-requests>=2.0 2014-03-13 17:18:26 +01:00
Romain Bignon
ecd3a9c5ab handle Refresh HTTP header 2014-03-12 23:41:08 +01:00
Romain Bignon
04b7a9d572 force referer when submitting a form 2014-03-12 23:41:06 +01:00
Romain Bignon
7edf5e488a add result 2014-03-12 21:15:30 +01:00
Romain Bignon
a4167194f0 add Regexp filter 2014-03-12 21:10:40 +01:00
Romain Bignon
a4b7f5cdf1 user-friendly error message when python-requests is not installed 2014-03-12 10:17:20 +01:00
Romain Bignon
80d3f693e8 change API of TableElement to use col_ attributes instead of dict 2014-03-12 08:43:48 +01:00
Romain Bignon
fd8136ebfe keep order in obj_* attributes, and changes in API 2014-03-10 22:52:59 +01:00
Romain Bignon
8ea92461dc add PagesBrowser, ListElement, ItemElement, TableElement, and filters 2014-03-10 13:11:07 +01:00
Romain Bignon
5e199bdfa9 fix browser2 to be compliant with python-requests >= 2.0 2014-03-10 13:11:07 +01:00
Laurent Bachelier
61e7b93779 Some PEP8 fixes 2014-03-10 13:11:07 +01:00
Laurent Bachelier
1ff07273b3 Add base URL restriction
For security reasons (SSL only, no leakage, etc.)
2014-03-10 13:11:07 +01:00
Laurent Bachelier
b701d9519a browser2: Updates for latest python-requests developments 2014-03-10 13:11:07 +01:00
Laurent Bachelier
53c298b069 browser2: Update cookies.py 2014-03-10 13:11:07 +01:00
Laurent Bachelier
d50784faae browser2: Minor rewrites 2014-03-10 13:11:07 +01:00
Laurent Bachelier
f7fabfeb7d browser2: More tests for absolute URLs 2014-03-10 13:11:07 +01:00
Laurent Bachelier
1c404639c1 browser2: Separate CookieJar from CookiePolicy
And avoid methods starting by _!
2014-03-10 13:11:07 +01:00
Laurent Bachelier
083caf15e5 browser2: Fix call to wrong method name 2014-03-10 13:11:07 +01:00
Laurent Bachelier
e793fd14da browser2: Use cookie testing services
Both are aimed at real browsers.
This also adds a "real-life" cookie deletion/expiration test.
2014-03-10 13:11:07 +01:00
Laurent Bachelier
26025d725d browser2: Document why all this for handling cookies 2014-03-10 13:11:07 +01:00
Laurent Bachelier
ef379f830e browser2: Fix cookie security in redirections
With tests (another reason why it's good to write them).
2014-03-10 13:11:07 +01:00
Laurent Bachelier
83e08c103d browser2: Add easy cookie building 2014-03-10 13:11:07 +01:00
Laurent Bachelier
ec64a52643 browser2: Misc doc/refactor 2014-03-10 13:11:06 +01:00
Laurent Bachelier
baef03c198 browser2: Test cookie override 2014-03-10 13:11:06 +01:00
Laurent Bachelier
2d70d11822 browser2: Handle cookies in the request/response cycle
Unlike the one by python-requests, it is secure, and generally behaves
like a real browser.
Basic test added.
2014-03-10 13:11:06 +01:00
Laurent Bachelier
57e16e9fe4 browser2: Handle redirects internally
python-requests isn't secure enough, and some behavior depends on the
latest version.
Tested on 0.10.6.

So instead of the previous hack, we have some copy-paste.
But we gain secure cookies handling (not there yet),
referrer handling, "proper" redirect on POST behavior.
2014-03-10 13:11:06 +01:00
Laurent Bachelier
4b802f32dd browser2: Evolve _fix_redirect for latest python-requests
See commits:
e831947be43bc97b39d6e6e573cb0842b67fea80
dacc1d8aafedf80f8736d794005b6c8e8b1d4ad1
b20d171c1c11ecee83b7e4a0beead1e54902d37b

The entire redirect thingy will have to be overriden anyway, as it is
still broken. Cookies are given domain to domain without any checks.
2014-03-10 13:11:06 +01:00
Laurent Bachelier
db304b955c browser2: Handle cookie expiration, session cookies
Every related method accepts a "now" parameter. If provided, it will be
used instead of the system time.
2014-03-10 13:11:06 +01:00