#!/usr/bin/Python
導入cgi
def main():
打印"內容類型:文本/html\n "
form = cgi。字段存儲()
if form.has_key("ServiceCode ")和form["ServiceCode"]。值!= "":
打印" & lth 1 & gt;妳好”,表單["ServiceCode"]。值," & lt/h1 >
否則:
打印" & lth 1 & gt;錯誤!請輸入名字。& lt/h1 >?
主()
Python發送post和get請求
獲取請求:
使用get方法時,請求的數據直接放在url中。
方法壹,
導入urllib
導入urllib2
url = "/')
html = response.read()
打印html
按F5查看運行的結果:
我們可以打開百度的首頁,點擊右鍵,選擇查看源代碼(火狐或者谷歌瀏覽器),會發現完全壹樣的內容。
換句話說,上面四行代碼打印出了我們訪問百度時瀏覽器收到的所有代碼。
這是urllib2最簡單的例子。
“‘”除外)?
response = urllib2.urlopen(req)?
_page = response.read()?
打印第_頁
可以看到輸出內容與test01相同。
Urllib2使用相同的接口來處理所有的URL頭。例如,您可以按如下方式創建ftp請求。
req = urllib2。請求(' ftp://example.com/')
在HTTP請求的時候,允許妳做兩件額外的事情。
1.發送數據表單數據
相信這個內容對於做過Web端的人都不會陌生。
有時妳想發送壹些數據到壹個URL(通常URL是用CGI[腳本或其他WEB應用程序]鏈接的)。
在HTTP中,這通常使用眾所周知的POST請求來發送。
這通常是在您提交HTML表單時由瀏覽器完成的。
不是所有的帖子都來自表單。您可以使用POST向您自己的程序提交任何數據。
在壹般的HTML表單中,數據需要編碼成標準的形式。然後將它作為數據參數傳遞給請求對象。
編碼工作使用的是urllib的函數,而不是urllib2。
讓我們創建壹個新文件urllib2_test03.py來感受壹下:
導入urllib?
導入urllib2?
url = '/register.cgi '?
values = {'name ':'為什麽',
地點':' SDU ',
語言':' Python' }?
Data = urllib.urlencode(values) #編碼工作
req = urllib2。請求(url,數據)?#發送請求並同時發送數據表單
response = urllib2.urlopen(req)?#接收反饋信息
_page = response.read()?#閱讀反饋的內容
如果沒有傳遞數據參數,urllib2將使用GET請求。
GET和POST請求的區別在於POST請求通常有“副作用”。
他們會以某種方式改變系統的狀態(比如把壹堆堆垃圾提交到妳家門口)。
還可以通過對Get請求本身的URL進行編碼來傳輸數據。
導入urllib2?
導入urllib
數據= {}
data['name'] = 'WHY '?
數據['位置'] = 'SDU '?
數據['語言'] = 'Python '
URL _ values = URL lib . urlencode(data)?
打印url _值
某人+這裏& amp語言= Python & amp位置=北安普頓?
url = '/example.cgi '?
full_url = url +'?'+URL _值
data = urllib2.open(full_url)
這樣,就實現了數據的Get傳輸。
2.'將標頭設置為/cgi-bin/register.cgi '
user_agent = 'Mozilla/4.0(兼容;MSIE 5.5Windows NT)'?
values = {'name ':'為什麽',
地點':' SDU ',
語言':' Python' }?
headers = { '用戶代理' :用戶代理}?
data = urllib.urlencode(值)?
req = urllib2。請求(url、數據、標題)?
response = urllib2.urlopen(req)?
_page = response.read()?
以上是python使用urllib2通過指定的URL抓取網頁的全部內容。很簡單,希望能幫到大家。