python 什麼是http非同步請求

http請求為耗時IO操作,如果同步阻塞的話,進程會等待請求完成。
非同步的話,進程會發出http請求(請求以後不需要cpu),然後跳轉到別的任務,直到http請求完成,再調回來繼續處理得到的http回應。
最經典的例子就是燒水,同步阻塞就是你一直蹲在爐子旁邊等待水燒開,而非同步是把水壺放在爐子上,等水開了以後茶壺會叫,這時候你聽到聲音就會回來處理開水~

❷ python 怎麼實現http伺服器

簡而言之,它是在物理伺服器上搭建的一個網路連接伺服器(networking server),永久地等待客戶端發送請求。當伺服器收到請求之後,它會生成響應並將 其返回至客戶端。客戶端與伺服器之間的通信,是以HTTP協議進行的。客戶端可以是瀏覽器,也可以是任何支持HTTP協議的軟體
那麼,網路伺服器的簡單實現形式會是怎樣的呢?下面是我對此的理解。示例代碼使用Python語言實現,不過即使你不懂Python語言,你應該也可以從代碼和下面的 解釋中理解相關的概念:
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

import socket

HOST, PORT = '', 8888

listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print 'Serving HTTP on port %s ...' % POR

❸ 裝完python之後出現的http://localhost:7464/是用來做什麼的

您好,你好像應該在命令行中執行以下命令:pydoc -p 7464

參考:http://en.wikibooks.org/wiki/How_to_Think_Like_a_Computer_Scientist:_Learning_with_Python_2nd_Edition/Moles_and_files

❹ 如何用Python寫一個http post請求

python發送post和get請求
get請求:
使用get方式時,請求數據直接放在url中。
方法一、
importurllib
importurllib2
url="<ahref="http://192.168.81.16/cgi-bin/python_test/test.py?ServiceCode=aaaa""target="_blank">http://192.168.81.16/cgi-bin/python_test/test.py?ServiceCode=aaaa"</a>
req=urllib2.Request(url)
printreq
res_data=urllib2.urlopen(req)
res=res_data.read()
printres
方法二、
importhttplib
url="<ahref="http://192.168.81.16/cgi-bin/python_test/test.py?ServiceCode=aaaa""target="_blank">http://192.168.81.16/cgi-bin/python_test/test.py?ServiceCode=aaaa"</a>
conn=httplib.HTTPConnection("192.168.81.16")
conn.request(method="GET",url=url)
response=conn.getresponse()
res=response.read()
printres
post請求:
使用post方式時,數據放在data或者body中,不能放在url中,放在url中將被忽略。
方法一、
importurllib
importurllib2
test_data={'ServiceCode':'aaaa','b':'bbbbb'}
test_data_urlencode=urllib.urlencode(test_data)
requrl="<ahref="http://192.168.81.16/cgi-bin/python_test/test.py""target="_blank">http://192.168.81.16/cgi-bin/python_test/test.py"</a>
req=urllib2.Request(url=requrl,data=test_data_urlencode)
printreq
res_data=urllib2.urlopen(req)
res=res_data.read()
printres

方法二、
importurllib
importhttplib
test_data={'ServiceCode':'aaaa','b':'bbbbb'}
test_data_urlencode=urllib.urlencode(test_data)
requrl="<ahref="http://192.168.81.16/cgi-bin/python_test/test.py""target="_blank">http://192.168.81.16/cgi-bin/python_test/test.py"</a>
headerdata={"Host":"192.168.81.16"}
conn=httplib.HTTPConnection("192.168.81.16")
conn.request(method="POST",url=requrl,body=test_data_urlencode,headers=headerdata)
response=conn.getresponse()
res=response.read()
printres

❺ python 怎麼導入httplib

例子

#!/usr/bin/envpython
#-*-coding:utf-8-*-
importhttplib
importurllib


defsendhttp():
data=urllib.urlencode({'@number':12524,'@type':'issue','@action':'show'})
headers={"Content-type":"application/x-www-form-urlencoded",
"Accept":"text/plain"}
conn=httplib.HTTPConnection('bugs.python.org')
conn.request('POST','/',data,headers)
httpres=conn.getresponse()
printhttpres.status
printhttpres.reason
printhttpres.read()


if__name__=='__main__':
sendhttp()

❻ python3沒有httplib了嗎

1、有,python3把httplib改了名字,對應的庫是http.client

2、網址是:

https://docs.python.org/3.4/library/http.client.html

https://docs.python.org/2/library/httplib.html

❼ python3么有httplib了嗎

python3把httplib改了名字,對應的專庫是屬http.client
https://docs.python.org/3.4/library/http.client.html
https://docs.python.org/2/library/httplib.html

❽ 為啥我的python 沒有http.server

在Windows下使用是有這個包的。 不過很奇怪,我在14.04版本上python2是沒有,python3有。

這個不太對。因版為http包應該是一個標權準的包。其中有server模塊更是常用。

可能問題就是在python2和python3上。在python2你可以用BaseHttpServer, SimpleHTTPServer, httplib等模塊完成同樣的功能。

❾ 如何使用python立即發送http請求參數

1 首先安裝requests這個模塊,方法是 輸入pip install requests。當然你要裝好pip這個包管理器。

2 然後
import requests
url = " " # 這里是你的url
your_param = {'Refer':"sina_index"} # 這里是你要發送的請求參數!, 它在url後邊加上 ??Refer=sina_index這樣子的東東

result = requests.get(url, param = your_param) # 發送請求,如果url是http://s.weibo.com/weibo/s 那麼 這句話的的效果就是 http://s.weibo.com/weibo/s?Refer=sina_index
result_final = result.text #這樣你就獲取到了你發送的這個URL + 參數 之後的結果

全部手打的,點贊唄。