創作內容

3 GP

POST

作者:Yotsuba│2020-05-25 19:34:55│巴幣:9│人氣:462

網站內容依然很單純,大標題告訴我們 : 「Tell me your name !」


既上次學到的操作,我們一樣在瀏覽器按下 F12

接著就按照它的指示,告訴它我們的名字吧






Nakano Yotsuba (中野 四葉 / なかの よつば),我填了老婆的名字

我們輸入了兩個欄位,然後提交了表單,請求伺服器處理我們的資料

從「提交」兩字就可以猜到是 POST 行為了

而我們的回應就是第二張圖,Hello there, Nakano Yotsuba !

可見我們帶入什麼字串,就會回應一個 Hello there, ... !

接下來只要知道封包中那兩個資料欄位名稱,就可以偽造請求了




滾輪往下拉即可見 Form Data,這就是我們 POST 行為送出的表單

接下來我們要用爬蟲偽造個一模一樣的 Request


import requests

params = {'firstname' : 'Nakano', 'lastname' : 'Yotsuba'}

response = requests.post('http://pythonscraping.com/pages/files/processing.php', data = params)

print(response.text)


執行結果




requests 裡面有很多屬性,data 只是其中之一,用來傳入 Form Data 用的




form.html 這個網頁只是提供一個使用者介面

按下 Submit 就把表單 POST 到 processing.php


不過 params 就已經把表單填好了,算是繞過 form.html 這關

直接偽造對 processing.php 的 POST 請求
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4794657
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 6 篇留言

多古尼爾拉布拉布拉格
去查了一下才知道 原來request.post(網址,參數)會生成一個URL裡面帶有參數
所以才可以達到我們的要求
這點我想應該對像我一樣的新手蠻難理解的xd
因為單看這一行程式可能不太懂發生了什麼就突然成功了

05-25 21:08

Yotsuba
如果還不理解 requests 用法的話,代表對 HTTP 協定還不夠理解

可以回去複習 爬蟲需要知道的網路協定 HTTP 和 HTTPS 和 HTTP Methods 兩篇


無論 GET 或 POST 行為都是一種 Requests

而 POST 一定會帶參數,因為 POST 有 "提交" 資料

提交了帶有 Nakano Yotsuba 的請求

回應是 Hello there, Nakano Yotsuba !05-25 21:56
多古尼爾拉布拉布拉格
咦不對 他是生成一個封包嗎(? 其實這部分我沒有看很懂

05-25 21:09

Yotsuba
requests 是請求的意思,但底層的確是一個網路封包沒有錯05-25 21:57
朝輝夕嵐
照這個方式的話我應該也可以自動填入google表單嗎

05-25 21:39

Yotsuba
可以,我之前有寫過 ! 不過印象中 Google 表單沒那麼好搞定

尤其還要綁定 Email 就不能大量發送了05-25 21:58
朝輝夕嵐
如果我在沒有試著輸入之前有方法可以直接post嗎?

05-25 21:40

Yotsuba
不太懂你的意思


如果你是指不使用 form.html 的頁面輸入的話

那可以用爬蟲去 POST processing.php 嗎 ? 可以,如同文章中的程式碼05-25 21:59
朝輝夕嵐
了解了!謝謝

05-25 22:13

伊芙
code 裡面 post 那部分前面484沒打到 [ response = ] 阿

05-31 13:25

Yotsuba
對耶 ! 感謝提醒,我補上了05-31 13:33
我要留言提醒:您尚未登入,請先登入再留言

3喜歡★happy819tw 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:GET... 後一篇:Beautiful So...

追蹤私訊切換新版閱覽

作品資料夾

robert286 ლ(´•д• ̀ლ
ლ(´•д• ̀ლ看更多我要大聲說7小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】