通俗的说,Get是直接请求、打开,Post是请求、对方通过后才能打开。
Get和Post最重要的区别是,Get方式是直接一链接形式访问,链接中包含了所有的参数,当然如果包含了密码什么的是不安全的,不过你可以直观的看到自己提交的内容。
Post则不会再网址上显示所有参数,不过如果你想直接查看提交了什么就不太方便了。可以根据自己的需要酌情选择。
以下是典型的Post方式
import urllib
import urllib2
url = "https://www.baidu.com/"
value = {}
value['username'] = 'Alice'
value['password'] = '111'
data = urllib.urlencode(value)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
print response.read()
以下是典型的Get方式
import urllib
import urllib2
url = "https://www.baidu.com/"
value = {}
value['username'] = 'Alice'
value['password'] = '111'
data = urllib.urlencode(value)
geturl = url + "?" + data
req = urllib2.Request(geturl)
response = urllib2.urlopen(req)
print response.read()
此处与上面的不同是有了个 geturl,它是把原来的 url 加 ? 加 编码后的参数。
所以会再网址上显示所有参数。