使用Python Requests模块构建URL

40 投票
1 回答
26530 浏览
提问于 2025-04-18 06:44

可以用Python的Requests库来构建一个网址吗?

构建查询字符串是可以的,但构建网址的其他部分呢?我特别想知道怎么在基础网址上加上经过编码的字符串:

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

term = 'This is a test'

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

这可能可以用urllib来实现,但我觉得用Requests会更好。这个功能存在吗?如果没有,是否有合理的原因不应该有这个功能?

1 个回答

61

requests其实就是一个很方便的工具,它是在urllib(还有其他相关库)基础上做的封装。

你可以从requests.compat中导入urljoin()quote()这两个函数,但实际上这和直接从urlliburlparse模块中使用它们是一样的:

>>> 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'

撰写回答