在實驗中需要自己構造單獨的HTTP數據報文,而使用SOCK_STREAM進行發送數據包,需要進行完整的TCP交互。因此想使用原始套接字進行編程,直接構造數據包,并在IP層進行發送,即采用SOCK_RAW進行數據發送。使用SOCK_RAW的優勢是,可以對數據包進行完整的修改,可以處理IP層上的所有數據包,對各字段進行修改,而不受UDP和TCP的限制。下面開始構造HTTP數據包,IP層和TCP層使用python的Impacket庫,http內容自行填寫。#!/
系統 2019-09-27 17:48:25 1963
類與類的關系依賴關系#依賴關系:將一個類的類名或者對象傳給另一個類的方法中.classElephant:def__init__(self,name):self.name=namedefopen(self,r1):#print(ref1)print(f'{self.name}默念三聲:芝麻開門')r1.open_door()defclose(self):print('大象默念三聲:芝麻關門')classRefrigerator:def__init__(sel
系統 2019-09-27 17:48:13 1963
面向對象編程時,都會遇到一個概念,類,python也有這個概念,下面我們通過代碼來深入了解下。創建和使用類classDog():def__init__(self,name,age):self.name=nameself.age=agedefsit(self):print(self.name.title()+"isnowsitting.")defroll_over(self):print(self.name.title()+"rolledover!")my_
系統 2019-09-27 17:48:08 1963
在類中每次實例化一個對象都會生產一個字典來保存一個對象的所有的實例屬性,這樣非常的有用處,可以使我們任意的去設置新的屬性。每次實例化一個對象python都會分配一個固定大小內存的字典來保存屬性,如果對象很多的情況下會浪費內存空間。可通過__slots__方法告訴python不要使用字典,而且只給一個固定集合的屬性分配空間classFoo(object):__slots__=("x","y","z")def__init__(self,x,y):self.x=
系統 2019-09-27 17:47:50 1963
首先感謝這位博主整理的AndrewNg的deeplearning.ai的相關作業:https://blog.csdn.net/u013733326/article/details/79827273開一個我的github傳送門,可以看到代碼。https://github.com/VVV-LHY/deeplearning.ai/tree/master/NeuralNetworkandDeepLearning/OneHiddenLayerNN今天接著day12的
系統 2019-09-27 17:46:55 1963
最近不少人在微信問我現在Python還好就業不好就業?發展前景怎么樣?我30多歲了,還能不能轉行編程?Python該怎么學?如果做Python到底該做爬蟲還是數據分析還是web?......等等這樣的問題,現在逐一談下我的看法,進而引申出目前如果做python,最好要掌握的一些技能以及我個人認為的很穩的發展路線,這里分析的觀點會以大部分普通開發者的角度來看待,對一些技術牛人可能就不太適用了。1、Python好就業嗎?其實,對于這些問題,我是不太想回答的,可
系統 2019-09-27 17:45:29 1963
這次要為我的python程序加上數據庫,主要是實現從mysql中查詢出數據并在頁面上顯示出來。首先是mysql的配置文件config.pyhost="127.0.0.1"user="root"password=""charset="utf8"database="service"port=3306然后是從數據庫中讀取數據的aService.pyimportMySQLdbimportsysimportconfigclassAService(object):de
系統 2019-09-27 17:45:28 1963
pythonxml.etree.ElementTree遍歷xml所有節點XML文件內容:代碼:#-*-coding:UTF-8-*-#從文件中讀取數據importxml.etree.ElementTreeasET#全局唯一標識unique_id=1#遍歷所有的節點defwalkData(root_node,level,result_list):globalunique_idtemp_list=[unique_id,level,root_node.tag,r
系統 2019-09-27 17:38:43 1963
先給出結論:要替換的字符數量不多時,可以直接鏈式replace()方法進行替換,效率非常高;如果要替換的字符數量較多,則推薦在for循環中調用replace()進行替換。可行的方法:1.鏈式replace()string.replace().replace()1.x在for循環中調用replace()「在要替換的字符較多時」2.使用string.maketrans3.先re.compile然后re.sub……defa(text):chars=""for
系統 2019-09-27 17:38:36 1963
1.如果模塊是被導入,__name__的值為模塊名字2.如果模塊是被直接執行,__name__的值為'__main__'Py1.py復制代碼代碼如下:#!/usr/bin/envpythondeftest():print'__name__=',__name__if__name__=='__main__':test()Py2.py復制代碼代碼如下:#!/usr/bin/envpythonimportPy1.pydeftest():print'__name__
系統 2019-09-27 17:38:30 1963