台灣最大程式設計社群網站
線上人數
1120
 
會員總數:246134
討論主題:189713
歡迎您免費加入會員
討論區列表 >> ASP >> 又來發問了!抓取網頁文字(json格式)
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
又來發問了!抓取網頁文字(json格式)
價值 : 70 QP  點閱數:2942 回應數:10
樓主

吳宗穎
門外漢
0 4
50 10
發送站內信

承接之前的問題,請問,一般我們asp網頁中,會將文字放在<textarea></textarea>,並指定一個名稱,例如body,而下一頁的處理方式,是使用「request("body")」,來取得放在<textarea></textarea>。

但若是直接在html格式內的<body></body>,又該如何取得?

舉例來說,若JSON格式直接放在html格式內的<body>{"data":["AABBDDEE","FFBBEECC"]}</body>~~~我好像沒有學過相關的指令可以取得~~請問~~

我該如何直接取得網頁中的文字?<body></body>中間的文字?

搜尋相關Tags的文章: [ 網頁文字 ] , [ json ] , [ body ] ,
本篇文章發表於2016-04-25 13:31
1樓
回應

彩虹
檢舉此回應
如果裡面還有<html>、<title>、<head>、<body>...等,是沒辦法的
如果你是放在很乾淨空頁面(不要有多餘的html語法),就可以辦到
例如 json.asp 的頁面,只有這一行「{"data":["AABBDDEE","FFBBEECC"]}」印在頁面上
可以直接抓取資料回來
本篇文章回覆於2016-04-25 14:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

吳宗穎
檢舉此回應
疑~

所以若是在html格式裡,要直接取body上的文字,就沒辦法辦到了是吧~~~

那若是asp的頁面

該用什麼指令來取文字?

例如response.write "{"data":["AABBCC"]}"

假設是這樣,頁面只會顯示{"data":["AABBCC"]},那要怎麼取得?
本篇文章回覆於2016-04-25 14:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

彩虹
檢舉此回應
提供一個function給你
GetTextFromUrl

本篇文章回覆於2016-04-25 14:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

吳宗穎
檢舉此回應
我好像講錯了~~~~
因為我並不知道,是要取那個網頁的~~

應該說,我是被動的接受資料~~
對方現在是透過APP,走 HTTP的post格式給我~~

我在網路上有查到這篇~~
http://www.w3school.com.cn/asp/asp_inputforms.asp
但Request.Form,也是要有「name」~~~

但app傳出來卻說他的格式是request body{"data":["12345","67890"]}

而我使用Postman這軟體,測試時~~明明有name="XX",但用asp卻引不進這個"xx"的值~~~

本篇文章回覆於2016-04-25 15:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

彩虹
檢舉此回應
不管是用POST或GET,都一定要有name,不然是要怎麼抓資料

1.你可以再說明一下他到底是傳怎樣的資料給你嗎?
2.「到底是你丟資料過去,然後對方回傳資料給你」還是「對方將資料丟給你,而你回傳資料給他」

另外你說你用Postman測試時~~明明有name="XX",但用asp卻引不進這個"xx"的值
為什麼我是成功的。
本篇文章回覆於2016-04-25 17:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

吳宗穎
檢舉此回應
我自己用Postman,是key在URL Parameter Key內的值,可以讀得到
可是KEY在form-data下的值,卻讀不到。
本篇文章回覆於2016-04-27 16:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

彩虹
檢舉此回應
你可以改用「Postman」的「x-www-form-urlencoded」
就可以讀到了
本篇文章回覆於2016-04-27 17:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

彩虹
檢舉此回應
不過這一點你先不用擔心
我剛也去試了一下用「request("XXX")」去接Postman的「form-data」,的確接不起來
除非用「x-www-form-urlencoded」才接收得起來

我在想可能是「Postman」與「classic ASP」之間的問題
因為我用「ASP.NET」、「PHP」都可以接收到「form-data」傳過來的值

你可以自己做一個form表單,丟到http://localhost/json.asp,就可以接收到POST過來的值
你試試看
本篇文章回覆於2016-04-27 17:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

吳宗穎
檢舉此回應
有試過

的確用「x-www-form-urlencoded」是可以得到變數=值,我就可以「request("變數")」。

但另一個問題就是,如果是用body raw的方式,選擇json格式~~

那麼asp就沒辦法收到資料了對吧!

因為收到的POST長的樣子像下面這樣~~

POST /check.asp HTTP/1.1
Host: 127.0.0.1
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: ef8e5488-a824-13b8-9a38-1723412d309a

{"data":"123"}

ASP似乎沒辦法處理~
本篇文章回覆於2016-04-28 16:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
最有價值解答

彩虹
檢舉此回應
我先說,一樣可以處理

題外話:
不是阿,你不覺得你後續問的問題已經有點偏了,跟你一開始問的東西沒關係了...

你是想了解Postman的所有功能嗎?

另外你到底是要接收怎樣的格式進來,「URL」還是「表單」還是「body raw jason」


正題:
如果最後是要用「body raw json」,但當然就不是用request來接了 = =

請使用此方式
本篇文章回覆於2016-04-28 18:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.