當前位置:成語大全網 - 書法字典 - python如何響應發送get和post請求的後端接口?

python如何響應發送get和post請求的後端接口?

測試CGI名為test.py,放在apache的cgi-bin目錄下:

#!/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抓取網頁的全部內容。很簡單,希望能幫到大家。