I'm not sure if this is would comply with the twisted coding standards, but it'd be nice if the new getPage could take an IBodyProducer as well as just postdata.

I know that the current docstring says to look at the arguments from HTTPClientFactory, and I guess compatibility needs to be maintained, so a postdata argument needs to be there, but it'd be convenient if, for instance, I wanted to upload a file for me to just provide the FileBodyProducer for that file, rather than read the whole thing into memory and then pass it as postdata, which then creates a file like object to pass to FileBodyProducer anyway.

The getPage API has a lot of problems. Agent is the future. We should definitely have an API that makes it easy to post forms and easy to upload files, though - but I'd lean away from pushing that into getPage and think more about something new.

Yeah, I believe there was some talk on IRC a while back about designing a better API atop Agent, and doing the minimum necessary to move getPage/downloadPage atop Agent. That said, if there is some powerful desire to add backwards-compatible improvements to getPage/downloadPage, I'm willing to work on them after I actually get the basics working.