為什麼這篇aspx爬蟲鄉民發文收入到精華區:因為在aspx爬蟲這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者zerof (貓橘毛發呆雕像)看板Python標題Re: [問題] requests aspx ...
前文 43
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.214.82.45
: ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1495432336.A.7BF.html
: → coeric: 加過sess 好像也沒用? 05/22 14:03
: ※ 編輯: coeric (49.214.82.45), 05/22/2017 14:10:00
: → leo850611: get那次要和post使用同個session 05/22 14:14
: http://codepad.org/WLXoNk55
: 似乎還是不行.........
: ※ 編輯: coeric (49.214.82.45), 05/22/2017 14:19:18
: → zerof: 要照順序 post 05/22 15:21
: → zerof: 應該說要照 "手動選" 的順序 post, 後端會檢查 viewstate 05/22 15:22
: → coeric: 挖塞.....感謝樓上上了一課...還有這樣的.... 05/22 16:11
: → coeric: 中間還有藏了一post..... 05/22 16:12
: 推 HenryLiKing: 不好意思我還是不太懂什麼叫做手動選的順序耶 05/22 17:08
本來想說解釋一下 viewstate 但這裡是 Python 板... 有興趣的話再自行研究吧QQ
簡單來說 post 到 server 的 __VIEWSTATE 的值會在每次 post 的時候被檢查,
檢查的方式跟內容依各 ASP.NET 網站的實作有所不同。
so, 「手動選的順序」指的是你實際上每一次動 dropdown list 的時候都會連動
post 操作的值回 server ,造成 __VIEWSTATE 變動,而 server side 剛好有檢
查你 post 到 server 的 state 是不是符合人工操作的狀態這樣。
(例如要先選第一個 list 才能選第二個 list)
不過 server 沒有 catch 這個 exception 就是了,不然不應該噴 500 error..
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 192.19.253.250
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1495448884.A.8CA.html
http://blog.csdn.net/peak915/article/details/616868 大概就是這樣(咦
簡單來說 ASP.NET 有它自己的「控制項」,像 html 的
<input type="button"/>
在 ASP.NET 裡面可以是:
<input type="button" runat="server"/> 或 <asp:Button runat="server" />
利用 ASP.NET 提供的「控制項」,開發人員實際上並不需要熟 html , page 在
render 的時候會直接轉成 html tag + js (這也是為什麼 ASP.NET 的 DOM 都會
有一些奇奇怪怪的東西)
ASP.NET 提供的「控制項」讓開發人員可以在 server-side 直接存取/識別它在
client-side 的狀態,靠的就是 postback & viewstate 。
(這也是為什麼 ASP.NET 的網頁很常出現動一個小東西就觸發ajax post 的原因)
ASP.NET 在 server-side 有直接提供 <asp:DropDownList ...> ,就是這個網站
用的 <select> 。
(<asp:ddl> convert to <select> + postback in event.)
※ 編輯: zerof (192.19.253.250), 05/23/2017 11:07:32