# 2019/10/01
# 使用 Python 實作 Dcard 爬蟲,並顯示出 Dcard 熱門板全部標題 (附程式碼)

import requests
from bs4 import BeautifulSoup
import re
a='https://www.dcard.tw/f'
resp=requests.get(a)
soup=BeautifulSoup(resp.text, 'html.parser')
dcard_title=soup.find_all('h3', re.compile('Title__'))
for index, item in enumerate(dcard_title):
print("{0:2d}. {1}".format(index + 1, item.text.strip()))
# 完成 Python Script Homework 練習 (附程式碼)
import requests
from bs4 import BeautifulSoup
r = requests.Session()
index = r.get("http://140.134.25.138:10022/index.php%22)
while True:
soup = BeautifulSoup(index.text, "html.parser")
num1 = int(soup.find('span',{'id':'num1'}).text)
flag = soup.find('span',{'id':'flag'}).text
num2 = int(soup.find('span',{'id':'num2'}).text)
if (flag == '+'):
ans = num1 + num2
elif (flag == '-'):
ans = num1 - num2
elif (flag == '*'):
ans = num1 * num2
elif (flag == '/'):
ans = num1 / num2
data= {'token' : ans}
index = r.post('http://140.134.25.138:10022/index.php%27,data=data)
message = soup.find('h1' ,{'name':'flag'}).text
if not(message=="CTF{NOT_THIS_ONE}" or message==""):
print(message)
break
# 請說明GET跟POST的差別
原來 POST 是將表單資料放在 message-body 進行傳送,在不偷看封包的情況下似乎安全一些些。此外在傳送檔案的時候會使用到 multi-part 編碼,將檔案與其他的表單欄位一併放在 message-body 中進行傳送。這就是 GET 與 POST 發送表單的差異囉。
# 請說明HTTP跟HTTPS的差別
http是超文本傳輸協定,而https是經過加密的超文本傳輸協定。
它們的區別也就在於一個安全性的問題。
因此,經過加密的https是比較安全的。
# 截圖證明已解完 Source Code、Network、Redirect and Headers

{"metaMigratedAt":"2023-06-15T00:35:46.546Z","metaMigratedFrom":"Content","title":"2019/10/01","breaks":true,"contributors":"[{\"id\":\"93ea6294-abba-4bba-a72f-883752362c9e\",\"add\":1735,\"del\":166}]"}