python urllib2的发送 get请求的形式

比如有一个GET请求:http://example.com/test?q=abc,
我可以这样发送请求,拼接url:

url = 'http://example.com/test?'
para = {'q':'abc'}
req = urllib2.Request(url + urllib.urlencode(para))
page = urllib2.urlopen(req)

这种方式可以,那下面的这种方式呢:

url = 'http://example.com/test?'
para = {'q':'abc'}
req = urllib2.Request(url, data=urllib.urlencode(para))
page = urllib2.urlopen(req)

请问这两种方式实现一样吗? 为啥我有一个请求,用第一种方式可以,第二种就得不到想要的返回结果呢?

阅读 7k
3 个回答
req = urllib2.Request(url, data=urllib.urlencode(para))

为什么会分不清变量和字符串?

第一种叫GET请求
第二种叫POST请求

有个库的名字叫requests

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题