當前位置:首頁 » 編程語言 » pythonhttp請求

pythonhttp請求

發布時間: 2023-05-20 09:31:23

㈠ 如何用python寫一個http post請求

import urllib2
import urllib

#定義一個要啟族提交的數據數組悄帶弊(字典)
data = {}
data['username'] = 'zgx030030'
data['password'] = '123456'

#定義post的地址
url = 'http://www.test.com/post/'
post_data = urllib.urlencode(data)

#提交,行臘發送數據
req = urllib2.urlopen(url, post_data)

#獲取提交後返回的信息
content = req.read()

如果解決了您的問題請採納!
如果未解決請繼續追問

㈡ 如何用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

㈢ pythonhttp請求引入變數

1. python程序部分

import argparse

FLAGS = tf.app.flags.FLAGS

office31_flags.train()

parser = argparse.ArgumentParser()

parser.add_argument('--unlabeled_data_path', type=str, default=None)

parser.add_argument('--labeled_train_data_dir', type=str, default=None)

parser.add_argument('--train_dir_for_save', type=str, default=None)

parser.add_argument('--pretrained_checkpoint_path', type=str, default=None)

parser.add_argument('--d_cross_entropy', type=float, default=None)

parser.add_argument('--d_fake', type=float, default=None)

parser.add_argument('--d_unlabel', type=float, default=None)

parser.add_argument('--g_fc7_match'早鎮, type=float, default=None)

parser.add_argument('跡數--g_logical', type=float, default=None)

parser.add_argument('陸州粗--g_image_match', type=float, default=None)

parser_parameters = parser.parse_args()

FLAGS.unlabeled_data_path = parser_parameters.unlabeled_data_path

FLAGS.labeled_train_data_dir = parser_parameters.labeled_train_data_dir

FLAGS.train_dir_for_save = parser_parameters.train_dir_for_save

FLAGS.pretrained_checkpoint_path = parser_parameters.pretrained_checkpoint_path

FLAGS.d_cross_entropy = parser_parameters.d_cross_entropy

FLAGS.d_fake = parser_parameters.d_fake

FLAGS.d_unlabel = parser_parameters.d_unlabel

FLAGS.g_fc7_match = parser_parameters.g_fc7_match

FLAGS.g_logical = parser_parameters.g_logical

FLAGS.g_image_match = parser_parameters.g_image_match

FLAGS.unlabeled_data_path = os.path.join(path, 'office_data/webcam')

FLAGS.labeled_train_data_dir = os.path.join(path, 'office_data/amazon')

FLAGS.train_dir_for_save = os.path.join(path, 'trained_dir')

FLAGS.pretrained_checkpoint_path = os.path.join(path, 'pretrained_model/bvlc_alexnet.npy')

parser.add_argument('--dataset', type=str, default='CIFAR10', choices=['MNIST', 'SVHN', 'CIFAR10'])

parser.add_argument('--learning_rate', type=float, default=1e-4)

parser.add_argument('--update_rate', type=int, default=5)

parser.add_argument('--lr_weight_decay', action='store_true', default=False)

parser.add_argument('--mp_result', action='store_true', default=False)

㈣ python 什麼是http非同步請求

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

㈤ python通過get,post方式發送http請求和接收http響應


本文實例講述了python通過get,post方式發送http請求和接收http響應的方法。姿敏分享給輪敏大家供大家參考。
具體如下:
測試用CGI,名字為test.py,放在apache的cgi-bin目錄下:
#!/usr/bin/python
import cgi
def main():
print Content-type: text/htmln
form = cgi.FieldStorage()
if form.has_key(ServiceCode) and form[ServiceCode].value != :
print h1 Hello,form[ServiceCode].value,/h1
else:
print h1 Error! Please enter first name./h1
main()
python發送post和get請求
get請求:
使用get方式時,請求數據直接放在url中。
方法一、
?
7
8
import urllib
import urllib2
url =
req = urllib2.Request(url)
print req
res_data = urllib2.urlopen(req)
res = res_data.read()
print res
方法二、
?
7
import httplib
url =
conn = httplib.HTTPConnection(192.168.81.16)
conn.request(method=GET,url=url)
response = conn.getresponse()
res= response.read()
print res
post請求:臘冊枝
使用post方式時,數據放在data或者body中,不能放在url中,放在url中將被忽略。
方法一、
import urllib
import urllib2
test_data = {ServiceCode:aaaa,b:bbbbb}
test_data_urlencode = urllib.urlencode(test_data)
requrl =
req = urllib2.Request(url = requrl,data =test_data_urlencode)
print req
res_data = urllib2.urlopen(req)
res = res_data.read()
print res
方法二、
11
import urllib
import httplib
test_data = {ServiceCode:aaaa,b:bbbbb}
test_data_urlencode = urllib.urlencode(test_data)
requrl =
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()
print res
對python中json的使用不清楚,所以臨時使用了urllib.urlencode(test_data)方法;
模塊urllib,urllib2,httplib的區別
httplib實現了http和https的客戶端協議,但是在python中,模塊urllib和urllib2對httplib進行了更上層的封裝。
介紹下例子中用到的函數:
1、HTTPConnection函數
httplib.HTTPConnection(host[,port[,stict[,timeout]]])
這個是構造函數,表示一次與伺服器之間的交互,即請求/響應
host 標識伺服器主機(伺服器IP或域名)
port 默認值是80
strict 模式是False,表示無法解析伺服器返回的狀態行時,是否拋出BadStatusLine異常
例如:
conn = httplib.HTTPConnection(192.168.81.16,80) 與伺服器建立鏈接。
2、HTTPConnection.request(method,url[,body[,header]])函數
這個是向伺服器發送請求
method 請求的方式,一般是post或者get,
例如:
method=POST或method=Get
url 請求的資源,請求的資源(頁面或者CGI,我們這里是CGI)
例如:
url=
或者
url=
body 需要提交到伺服器的數據,可以用json,也可以用上面的格式,json需要調用json模塊
headers 請求的http頭headerdata = {Host:192.168.81.16}
例如:
?
test_data = {ServiceCode:aaaa,b:bbbbb}
test_data_urlencode = urllib.urlencode(test_data)
requrl =
headerdata = {Host:192.168.81.16}
conn = httplib.HTTPConnection(192.168.81.16,80)
conn.request(method=POST,url=requrl,body=test_data_urlencode,headers = headerdata)
conn在使用完畢後,應該關閉,conn.close()
3、HTTPConnection.getresponse()函數
這個是獲取http響應,返回的對象是HTTPResponse的實例。
4、HTTPResponse介紹:
HTTPResponse的屬性如下:
read([amt]) 獲取響應消息體,amt表示從響應流中讀取指定位元組的數據,沒有指定時,將全部數據讀出;
getheader(name[,default]) 獲得響應的header,name是表示頭域名,在沒有頭域名的時候,default用來指定返回值
getheaders() 以列表的形式獲得header
例如:
?
1
2
3
4
5
date=response.getheader(date);
print date
resheader=
resheader=response.getheaders();
print resheader
列形式的響應頭部信息:
?
1
2
3
[(content-length, 295), (accept-ranges, bytes), (server, Apache), (last-modified, Sat, 31 Mar 2012 10:07:02 GMT), (connection, close), (etag, e8744-127-4bc871e4fdd80), (date, Mon, 03 Sep 2012 10:01:47 GMT), (content-type, text/html)]
date=response.getheader(date);
print date
取出響應頭部的date的值。
希望本文所述對大家的Python程序設計有所幫助。

㈥ Python Http 請求

如果要進行客戶端和伺服器端之間的消息傳遞,我們可以使用HTTP協議請求

通過URL網址傳遞信息,可以直接在URL中寫上要傳遞的信息,也可以由表單進行傳遞(表單中的信息會自動轉化為URL地址中的數據,通過URL地址傳遞)

備註:已經取得資源,並將資源添加到響應中的消息體

可以向伺服器提交數據,是一種比較安全的數據傳遞方式,比如在登錄時,經常使用 POST 請求發送數據

請求伺服器存儲一個資源,通常需要制定存儲的位置

請求伺服器刪除一個資源

請求獲取對應的 HTTP 報頭信息

可以獲得當前URL所支持的請求類型

狀態碼:200 OK
表明請求已經成功. 默認情況下成功的請求將會被緩存

不同請求方式對於請求成功的意義如下:
GET:已經取得資源,並將資源添加到響應中的消息體.
HEAD:作為消息體的頭部信息
POST:在消息體中描述此次請求的結果

請求成功對於PUT 和 DELETE 來說並不是200 ok 而是 204 所代表的沒有資源 (或者 201 所代表的當一個資源首次被創建成功

以下是常見狀態碼及含義

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

一、application/x-www-form-urlencoded
import urllib

url = ""
body_value = {"package": "com.tencent.lian","version_code"做岩: "66" }
body_value = urllib.urlencode(body_value)
request = urllib2.Request(url, body_value)
request.add_header(keys, headers[keys])
result = urllib2.urlopen(request ).read()

二、multipart/form-data
需要利用python的poster模塊,安裝poster:pip install poster
代碼:
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers

url = ""纖埋
body_value = {"package": "com.tencent.lian","version_code": "66" }
register_openers()
datagen, re_headers = multipart_encode(body_value)
request = urllib2.Request(url, datagen, re_headers)
# 如果有請求頭數據,則添加純豎御請求頭
request .add_header(keys, headers[keys])
result = urllib2.urlopen(request ).read()

二、application/json
import json

url = ""
body_value = {"package": "com.tencent.lian","version_code": "66" }
register_openers()
body_value = json.JSONEncoder().encode(body_value)
request = urllib2.Request(url, body_value)
request .add_header(keys, headers[keys])
result = urllib2.urlopen(request ).read()

熱點內容
c語言交換兩個數 發布:2024-04-30 17:20:01 瀏覽:765
腳本撰寫基本格式 發布:2024-04-30 16:48:46 瀏覽:907
安卓軟體是如何檢測模擬器的 發布:2024-04-30 16:33:55 瀏覽:526
python讀取中文亂碼 發布:2024-04-30 16:27:13 瀏覽:664
天網移動伺服器地址 發布:2024-04-30 16:17:38 瀏覽:669
安川編程招工 發布:2024-04-30 15:21:31 瀏覽:642
lru缺頁演算法 發布:2024-04-30 15:19:29 瀏覽:497
伺服器內網ip和外網ip是什麼 發布:2024-04-30 15:13:13 瀏覽:753
c編譯的產物 發布:2024-04-30 15:07:07 瀏覽:59
sql2000服務 發布:2024-04-30 15:00:05 瀏覽:531