HTTP 請求回傳 html 而不是 json你好
我嘗試使用以下腳本從 API 請求 JSON:
request_neu = New HTTP Request(
URL( "https://redacted.com/api/path?fileType=Json" ),
Method( "GET" ),
//headers( {"Accept: text/plain", "Accept: text/html", "Accept: */*"} ),
//headers( {"Accept: */*"} ),
//I tried everything here
Headers( {"Accept: application/json"} ),
Username( "api.user" ),
Password( "redacted" ),
Timeout( 900000 )
);
response = request_neu << send;
show(request_neu << get mime type);
show(request_neu << get status);
show(request_neu << get status message);
show(substr(response,1,999));
JSON to data table(response);我在 JSON 到資料表函數導致錯誤後添加了調試語句,輸出為
request_neu << get mime type = "text/html; charset=utf-8";
request_neu << get status = 200;
request_neu << get status message = "HTTP/1.1 200 OK";
Substr(response, 1, 999) = "
etc
所以本質上我收到的是 html 而不是 JSON。
有趣的是它可以與 Postman、Python,甚至 Excel 一起使用。
真正有趣的是,幾個月前,當我創建這個腳本時,它也可以工作。
你知道這是怎麼回事嗎?
謝謝
資料存取回覆:HTTP 請求返回 html 而不是 json您是否嘗試查看 HTML 包含什麼內容?例如,您可以使用 Save Text File() 將其儲存為 .html 頁面
我沒有很快發現您的語法有任何問題,以下是腳本索引中稍作修改的範例
Names Default To Here(1);
request = New HTTP Request(
url("http://httpbin.org/get"),
Method("GET"),
Headers({"Accept: application/json"}),
Username("ross"),
Password("Abc123"),
);
data = request << Send;
Show(request << get response headers, request << get last url);
回覆:HTTP 請求返回 html 而不是 json當我查看 html 時,它看起來與平台的網頁類似,只是相關連結已損壞。
我擔心我需要與平台負責人討論,因為錯誤似乎源自於那裡。
回覆:HTTP 請求返回 html 而不是 json「接受:application/json」只是向 Web 服務提示您想要傳回的回應類型。
Web 服務完全可以忽略它。
這是外部 Web 服務還是“內部”開發的服務,如果是“內部”,那麼您需要與開發人員討論在客戶端請求時返回 json 資料的事宜。
如果是外部的,你能發布 api 文件嗎?
回覆:HTTP 請求返回 html 而不是 json一切都好嗎?