成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

使用mysql記錄從url返回的http GET請求數據操作

瀏覽:36日期:2023-10-07 10:34:44
業務場景需求及實現邏輯分析

在業務中,我們經常會碰到需要用HTTP GET請求數據的情況,比如http請求返回的結果如下所示:

使用mysql記錄從url返回的http GET請求數據操作

那么,如果我們想將這些數據用mysql存儲下來,那該怎么實現呢?

其實,調用python的httplib和MySQLdb包將會非常容易實現,httplib負責獲取url的返回,MySQLdb負責對MySQL數據庫進行操作。下面整理了關系邏輯圖:

使用mysql記錄從url返回的http GET請求數據操作

那么,我們開始代碼開發:

python依賴包準備

python需要用到的包至少有如下幾個,其中MySQLdb依賴包的安裝可以參考python安裝mysql的依賴包mysql-python

# 此為python文本編輯器界面#!/usr/bin/python# coding=utf-8import httplibimport jsonimport timeimport MySQLdb

用httplib獲取url請求返回

httplib包支持如下的一些方法和函數:

url = 'http://www.testtesttest.com/mobile/kit?token=yyyyyyyyy&key=tttttt&size=1' #具體的url鏈接conn = httplib.HTTPConnection('www.testtesttest.com')conn.request(method='GET', url=url) #指定GET方法,以及url對象response = conn.getresponse() #創建response對象res = response.read() #讀取url返回的內容# 使用json.loads方法將json解碼為python對象json_repose = json.loads(res)data = json_repose[’data’]

此時,http請求返回的所有信息都存在了對象res中,因為請求返回的是json字符串,上面我們采用了json.loads方法來解析。

可以留意到,最終我們將請求返回的json內容,都存到了python的對象中里,而一旦將數據轉為數組或者元組等形式儲存,我們就可以用python自帶的函數對其進行解析或者其他操作了。

用python解析url請求返回的json

# 這里我們定義了一個函數用于解析jsondef data_list_analyze(i): data_dict = data[i] status = data_dict[’status’] devi_id = data_dict[’devi_id’] update_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(data_dict[’update_time’])) actived_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(data_dict[’actived_time’])) return devi_id, imei, device_type, actived_timepython連接數據庫并寫入數據

接下來是數據庫的連接示例:

# 打開數據庫連接,指定數據庫ip、用戶名、密碼、連接的庫名db = MySQLdb.connect('192.168.xxx.xxx', 'db_user', 'db_password', 'db_database', charset=’utf8’)# 使用cursor()方法獲取操作游標cursor = db.cursor()# 建表sql語句sql = '''create table if not exists `gergsmart_list`(`devi_id` varchar(255) NOT NULL COMMENT ’IMEI, //硬件設備 IMEI’,`imei` varchar(255) COMMENT ’ICCID,//硬件設備 SIM卡’,`device_type` varchar(255) COMMENT ’設備類型’,`actived_time` datetime COMMENT ’⾸次激活時間’,PRIMARY KEY(`devi_id`))ENGINE=INNODB DEFAULT CHARSET=utf8;'''# 使用execute方法執行SQL語句,建表cursor.execute(sql)# 插入數據sql語句insert_sql = 'insert into `gergsmart_list` (devi_id,imei,device_type,actived_time) values (%s, %s, %s, %s,)'

從上面可以留意到,我們可以將python解析得到的對象devi_id、imei、device_type、actived_time,放入了mysql的插入語句中去,這樣我們就實現了“從url獲取數據,存到python對象中,再將python對象插入到mysql的記錄中”這樣的操作了。

總結,其實我們可以將python看作為一個中轉器,接收url請求返回,并寫入MySQL。而其中httplib負責了接收操作,MySQLdb負責了寫入操作。

補充:mysql請求超時!延伸拓展至get post請求的區別是什么,超詳細!一篇足矣解決所有!!

將數據庫的連接地址從127.0.0.1改為localhost即可!親測有效!!

查閱了很多的資料,歸納總結了get請求和post請求的區別

做了以下總結:

眾所周知的是get請求的參數是直接暴露在url上面,安全性較低。post請求的參數是存放在body里面夾帶過去,安全性較高一點。接下來我們看看稍微全面一點的解釋

我們先看一下前輩們的解釋

一、get和post請求的區別是什么:

get是從服務器上獲取數據,post是向服務器傳送數據。

get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。post是通過HTTPpost機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。

對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取提交的數據。

get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。

get安全性非常低,post安全性較高。

GET 請求可被緩存 POST 請求不會被緩存

GET 請求保留在瀏覽器歷史記錄中 POST 請求不會保留在瀏覽器歷史記錄中

GET 請求可被收藏為書簽 POST 不能被收藏為書簽

GET請求只能進行url編碼(application/x-www-form-urlencoded)POST支持多種編碼方式(application/x-www-form-urlencoded 或 multipart/form-data。為二進制數據使用多重編碼。)

最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。

接下來參考一下官方的說法是什么:

二、在w3schools中也對二者進行了區分給出了官方的答案

GET在瀏覽器回退時是無害的,而POST會再次提交請求。

GET產生的URL地址可以被Bookmark,而POST不可以。

GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。

GET請求只能進行url編碼,而POST支持多種編碼方式。

GET請求參數會被完整保留在瀏覽器歷史記錄里,而POST中的參數不會被保留。

GET請求在URL中傳送的參數是有長度限制的,而POST么有。

對參數的數據類型,GET只接受ASCII字符,而POST沒有限制。

GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感信息。

GET參數通過URL傳遞,POST放在Request body中。

GET產生一個TCP數據包;POST產生兩個TCP數據包。

基于上述以及查閱的資料做一個總結

HTTP是基于TCP/IP的關于數據如何在萬維網中如何通信的協議。 HTTP的底層是TCP/IP。所以GET和POST的底層也是TCP/IP,也就是說,GET/POST都是TCP鏈接。GET和POST能做的事情是一樣一樣的。你要給GET加上request body,給POST帶上url參數,技術上是完全行的通的。

post請求和get請求都是HTTP的請求方式,本質上來說并無區別,底層實現都是基于TCP/IP協議。但是請求有各種各樣的方式,于是HTTP對請求方式進行了劃分和規定,于是產生了get、post處理請求的分工和區別。

此外還有搜索到另外一個區別:GET產生一個TCP數據包;POST產生兩個TCP數據包。對于GET方式的請求,瀏覽器會把http header和data一并發送出去,服務器響應200(返回數據);而對于POST,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。

GET與POST都有自己的語義,不能隨便混用。

據研究,在網絡環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視。而在網絡環境差的情況下,兩次包的TCP在驗證數據包完整性上,有非常大的優點。

并不是所有瀏覽器都會在POST中發送兩次包,Firefox就只發送一次。

綜述:

“GET方式提交的數據最多只能是1024字節”,因為GET是通過URL提交數據,那么GET可提交的數據量就跟URL的長度有直接關系了。而實際上,URL不存在參數上限的問題,HTTP協議規范沒有對URL長度進行限制。這個限制是特定的瀏覽器及服務器對它的限制。IE對URL長度的限制是2083字節(2K+35)。對于其他瀏覽器,如Netscape、FireFox等,理論上沒有長度限制,其限制取決于操作系統的支持。注意這是限制是整個URL長度,而不僅僅是你的參數值數據長度。

理論上講,POST是沒有大小限制的,HTTP協議規范也沒有進行大小限制,說“POST數據量存在80K/100K的大小限制”是不準確的,POST數據是沒有限制的,起限制作用的是服務器的處理程序的處理能力。對于ASP程序,Request對象處理每個表單域時存在100K的數據長度限制。但如果使用Request.BinaryRead則沒有這個限制。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
一区二区三区欧美在线| 在线视频一区二区三| 久久久久成人精品免费播放动漫| 国产日韩av一区| 国产综合一区二区| 91成人国产精品| 日韩福利电影在线| 久久久一二三| 日韩国产精品91| 色综合 综合色| 日欧美一区二区| 久久久水蜜桃av免费网站| 亚洲福利一二三区| 亚洲欧洲日本国产| 亚洲欧洲日产国码二区| 欧美日韩一区二| 国产免费成人在线视频| 欧美黄色大片网站| 久久影视一区二区| 国产成人av电影在线观看| 欧美日韩国产免费一区二区| 精品中文字幕一区二区小辣椒 | 久久久久99| 日韩vs国产vs欧美| 欧美在线观看一区二区| 美腿丝袜亚洲三区| 欧美性色黄大片手机版| 伦理电影国产精品| 欧洲色大大久久| 久久成人羞羞网站| 3751色影院一区二区三区| 国产+成+人+亚洲欧洲自线| 日韩亚洲欧美中文三级| 福利电影一区二区| 精品国产乱码久久久久久老虎| 成人av网站在线| xf在线a精品一区二区视频网站| 99久久er热在这里只有精品15| 久久久高清一区二区三区| 欧美人成网站| 亚洲免费在线电影| 久久久福利视频| 寂寞少妇一区二区三区| 日韩一区二区在线看| 成人性生交大片免费看视频在线| 日韩免费性生活视频播放| www.亚洲人| 国产欧美日韩麻豆91| 激情一区二区三区| 亚洲最新在线观看| 久久久久.com| 国产一区高清在线| 精品剧情在线观看| 国产精品九九| 亚洲福利电影网| 欧美日韩电影在线播放| 久久99精品国产麻豆不卡| 日韩亚洲欧美一区二区三区| 欧美日韩视频一区二区三区| 亚洲免费在线看| 在线视频国产一区| 国产精品白丝jk白祙喷水网站| 精品国产乱子伦一区| 欧美久久久久| 亚洲影院理伦片| 精品视频免费看| 91麻豆高清视频| 亚洲国产视频网站| 91精品国产麻豆国产自产在线| 欧美日韩亚洲一区二区三区四区| 亚洲一区二区美女| 欧美一区二视频| 国内综合精品午夜久久资源| 亚洲chinese男男1069| 欧美丰满少妇xxxxx高潮对白| 91香蕉视频mp4| 婷婷夜色潮精品综合在线| 欧美一区二区三区日韩| 狠狠色综合网| 日韩中文字幕亚洲一区二区va在线 | 婷婷成人激情在线网| 日韩欧美国产一区在线观看| 激情欧美一区二区三区| 美女久久久精品| 国产日产亚洲精品系列| 久久久99国产精品免费| 不卡av免费在线观看| 一区二区三区在线免费| 91精品国产色综合久久不卡蜜臀| 在线看片一区| 久99久精品视频免费观看| 久久网站最新地址| 国产精品久久一区二区三区| 国产一区二区美女| 亚洲乱码国产乱码精品精98午夜 | 国产成人精品一区二| 一区二区三区日韩在线观看| 91麻豆精品91久久久久同性| 红桃视频亚洲| 久久99精品国产.久久久久久| 日本一区二区三区视频视频| 91黄色激情网站| 欧美黄色aaaa| 免费黄网站欧美| 国产精品黄色在线观看 | 亚洲欧美在线视频观看| 欧美日韩亚洲综合| 亚洲每日在线| 成人精品视频一区二区三区| 亚洲电影第三页| 久久久夜色精品亚洲| 色哟哟亚洲精品| 激情欧美一区| 国产成a人亚洲精品| 天天操天天干天天综合网| 国产日韩欧美麻豆| 欧美在线视频全部完| 亚洲国产精品一区在线观看不卡| 粉嫩av一区二区三区| 日本大胆欧美人术艺术动态| 亚洲欧美一区二区久久| 精品欧美乱码久久久久久| 久久久噜噜噜| 影音先锋中文字幕一区| 国产成人免费网站| 亚洲h在线观看| 日韩一区欧美一区| 精品福利二区三区| 欧美日韩一区二区三区在线看| 99人久久精品视频最新地址| 99在线精品一区二区三区| 秋霞午夜av一区二区三区| 亚洲欧美日韩在线| xvideos.蜜桃一区二区| 欧美剧情片在线观看| 午夜一区在线| 亚洲无线视频| 成人av在线资源网站| 激情综合色播五月| 图片区小说区区亚洲影院| 日韩美女啊v在线免费观看| 久久久99精品免费观看| 67194成人在线观看| 久久久久久黄| 亚洲清纯自拍| 99riav久久精品riav| 久久精品国产第一区二区三区 | 国产成人精品亚洲777人妖| 日本va欧美va精品| 亚洲综合在线电影| 成人免费一区二区三区视频| 国产片一区二区| 日韩一区二区三区在线| 欧美三级视频在线播放| 久久久久久亚洲精品杨幂换脸 | 一本色道亚洲精品aⅴ| 亚洲国产精选| 国产精品扒开腿做爽爽爽软件| 成人精品视频一区二区三区尤物| 国内成人免费视频| 另类小说图片综合网| 天堂资源在线中文精品| 一卡二卡三卡日韩欧美| 亚洲人精品午夜| 亚洲欧洲精品一区二区三区不卡| 国产午夜一区二区三区| 久久色中文字幕| 亚洲精品一区在线观看| 日韩精品中午字幕| 日韩一区二区免费在线观看| 制服丝袜亚洲色图| 欧美日韩成人综合| 欧美日韩国产综合视频在线观看 | 国产高清不卡一区| 国产精品综合视频| 激情亚洲综合在线| 国产一区二区三区四区五区美女| 久久国产精品色婷婷| 国内精品自线一区二区三区视频| 激情亚洲综合在线| 国模一区二区三区白浆| 国内精品久久久久影院薰衣草| 久久成人18免费观看| 麻豆精品视频在线观看视频| 麻豆精品在线视频| 久久精品99国产精品日本| 极品瑜伽女神91| 国产精品自在在线| 成人自拍视频在线观看| 成人免费视频caoporn| 成a人片亚洲日本久久| 91蜜桃婷婷狠狠久久综合9色| 欧美+日本+国产+在线a∨观看| 欧美大片专区| 在线观看亚洲视频啊啊啊啊| 国产区日韩欧美| 欧美资源在线| 久久日韩精品| 欧美亚一区二区| 日韩欧美在线123|