HTTP 요청이 json 대신 html을 반환합니다.안녕하세요
다음 스크립트를 사용하여 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
따라서 본질적으로 JSON 대신 html을 수신합니다.
흥미로운 점은 Postman, Python, 심지어 Excel에서도 작동한다는 것입니다.
정말 흥미로운 점은 몇 달 전에 이 스크립트를 만들었을 때도 작동하고 있었다는 것입니다.
여기서 무슨 일이 일어나고 있는지 아시나요?
고마워
데이터 접근Re: HTTP 요청이 json 대신 html을 반환합니다.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);
Re: HTTP 요청이 json 대신 html을 반환합니다.HTML을 보면 상대 링크가 끊어진 것을 제외하면 플랫폼의 웹 페이지와 유사해 보입니다.
실수가 거기에서 비롯된 것 같아서 플랫폼 담당자와 논의해야 할 것 같습니다.
Re: HTTP 요청이 json 대신 html을 반환합니다."수락: application/json"은 반환하려는 응답 유형에 대한 웹 서비스에 대한 힌트일 뿐입니다.
웹 서비스는 이를 무시해도 완전히 무료입니다.
이것이 외부 웹 서비스입니까, 아니면 "사내"인 경우 "사내"로 개발된 서비스입니까? 그러면 클라이언트가 요청할 때 json 데이터를 반환하는 것에 대해 개발자와 논의하고 싶을 것입니다.
외부인 경우 API 문서를 게시할 수 있나요?
Re: HTTP 요청이 JSON 대신 HTML을 반환합니다.다 괜찮아요?