Skip to content

requests v0.4.0 没有用递归实现redirect #13

Description

@yuhanli1991
def _build_response(self, resp):
        """Build internal Response object from given response."""

        def build(resp):
        	...

        history = []

        r = build(resp)

        if self.redirect:

            while 'location' in r.headers:

                history.append(r)

                url = r.headers['location']

                request = Request(
                    url, self.headers, self.files, self.method,
                    self.data, self.auth, self.cookiejar, redirect=False
                )
                request.send()
                r = request.response

            r.history = history

        self.response = r

这段代码并没有用到递归. 注意在Request实例化的时候参数redirect=False, 这意味着这个新建的实例并不会执行这段代码, 不会递归地进行redirect.

这里的redirect仅仅是使用一个while循环来不断转发的.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions