//簡單的post請求
curl -d '' 127.0.0.1:8080
//表單格式
// json格式
from urllib.request import urlopen
s_raw_url = "www.***.com"
resp = urlopen(s_raw_url, timeout=1.5)
# -*- coding: utf-8 -*-
import sys
import json
import requests
def get_result(data):
data = json.dumps(data,ensure_ascii=false).encode()
url = ""
result = requests.post(url,data=data,headers=headers)
return result
def main():
# json 資料格式
data = {}
result = get_result(data)
print (result.content)
if __name__ == '__main__':
main()
import urllib2
import urllib
import json
def getcssptoken(send_data):
# url為請求位址,這裡以釘釘機械人為示例
url = ''
f = urllib2.urlopen(req)
response = f.read()
f.close()
import requests
import urllib
import json
from requests_toolbelt import multipartencoder
def file_post():
#data為資料,s_file_path為檔案路徑,url為請求位址
headers =
# 這裡以多表單傳檔案示例
m = multipartencoder(
fields=)
headers['content-type'] = m.content_type
resp = requests.post(url, data=m, headers=headers, timeout=600)
return resp.content
def get_result():
#資料send_data =
#表單序列化
send_data = url_encoder(send_data)
headers =
#url為請求位址
result = requests.post(url, data=send_data, headers=headers)
return res
'''
* input: 字串
* ouput: md5值
'''def md5(src):
import hashlib
m2 = hashlib.md5()
m2.update(src.encode('utf-8'))
return m2.hexdigest()
'''
* 表單序列化
* input: 表單字典
* 例:
* ouput: 序列化結果
* 例:data=sth&state=1
'''def url_encoder(params):
g_encode_params = {}
def _encode_params(params, p_key=none):
encode_params = {}
if isinstance(params, dict):
for key in params:
encode_key = '{}[{}]'.format(p_key,key)
encode_params[encode_key] = params[key]
elif isinstance(params, (list, tuple)):
for offset,value in enumerate(params):
encode_key = '{}[{}]'.format(p_key, offset)
encode_params[encode_key] = value
else:
g_encode_params[p_key] = params
for key in encode_params:
value = encode_params[key]
_encode_params(value, key)
if isinstance(params, dict):
for key in params:
_encode_params(params[key], key)
return urllib.parse.urlencode(g_encode_params)
def getbyte(path):
with open(path, 'rb') as f:
img_byte = base64.b64encode(f.read())
img_str = img_byte.decode('ascii')
return img_str
《未完待續def file_get_contents(filename, use_include_path = 0, context = none, offset = -1, maxlen = -1):
if (filename.find('://') > 0):
ret = urllib.urlopen(filename).read()
if (offset > 0):
ret = ret[offset:]
if (maxlen > 0):
ret = ret[:maxlen]
return ret
else:
fp = open(filename,'rb')
try:
if (offset > 0):
fp.seek(offset)
ret = fp.read(maxlen)
return ret
finally:
fp.close( )
HTTP的幾種請求方式
基於http的請求方式一共有八種。get請求 這種方法是將資訊儲存在url中,既不安全,還無法傳遞太大的資料。官方說明 向特定的路徑資源發出請求。注意 get方法不應當被哦那個與產生 的操作中。一般的網路爬蟲都會從get入手。post 向指定的路徑提交資料進行處理請求,一般用於表單的提交資料。注意 ...
golang基礎 http請求的幾種方式
簡單粗暴,直接上 讀取響應 通過curl x get http localhost 9999 t test1 執行請求測試,輸出如下 解析響應資料 通過curl x post http localhost 9999 t post 執行請求測試,輸出如下 q.set 男 發起post表單請求 解析響應...
HTTP協議的幾種請求方式method
http是超文字傳輸協議,其定義了客戶端與伺服器端之間文字傳輸的規範。http預設使用80埠,這個埠指的是服務端的埠。需要注意的是,現在大多數訪問都使用了https協議,而https的預設埠為443,如果使用80埠訪問https協議的伺服器可能會被拒絕。http協議中的請求方法 有時也叫 動作 用來...