39

Is it possible to build a URL using the Requests library for Python?

Building a query string is supported but what about building the rest of the URL. Specifically I'd be interested in adding on to the base URL with URL encoded strings:

http :// some address.com/api/[term]/

term = 'This is a test'

http :// some address.com/api/This+is+a+test/

This is presumably possible using urllib but it seems like it would be better in Requests. Does this feature exist? If not is there a good reason that it shouldn't?

alecxe
  • 462,703
  • 120
  • 1,088
  • 1,195
Jimbo
  • 2,886
  • 2
  • 29
  • 45

1 Answers1

61

requests is basically a convenient wrapper around urllib (and 2,3 and other related libraries).

You can import urljoin(), quote() from requests.compat, but this is essentially the same as using them directly from urllib and urlparse modules:

>>> from requests.compat import urljoin, quote_plus
>>> url = "http://some-address.com/api/"
>>> term = 'This is a test'
>>> urljoin(url, quote_plus(term))
'http://some-address.com/api/This+is+a+test'
alecxe
  • 462,703
  • 120
  • 1,088
  • 1,195